`
85977328
  • 浏览: 1871958 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

maven之建立应用

阅读更多
一 前言
    eclipse或者其他工具,在工程之间互相引用非常麻烦.在eclipse种,java工程之间应用还好.但如果是一个web工程引用app工程,那简直惨不忍睹.所以通过maven实践的优势就诞生了.
    使用maven有以下几个优点:
    1)源代码与开发工具脱离,可以自由选择netbean,eclipse,intellij等;
    2)大型工程组织的方便性;
    3)持续集成提供良好的支持,例如hudson集合svn一起使用;
    4)包依赖的管理(这点相信是maven项目建立的初衷);

二 实验环境
jdk1.6.0.24
eclipse3.6.1
SVN(略)
http://subclipse.tigris.org/
subclipse
安装 maven
网站:http://m2eclipse.sonatype.org/sites/
核心插件:m2e
扩展插件:m2e-extras

三 eclipse的设置
1.修改eclipse的JDK启动,注意:jdk安装路径中,不可以有空格,否则maven无法启动
eclipse.ini
-vm
D:\Java\jdk1.6.0_24\bin\javaw.exe

2.修改eclipse的install jre为JDK目录

四 项目的建立
1.新建个Maven Project,filter处输入pom,选择感知结果pom-root建立工程group ID:com.baidu
2.新建若干个Maven Module,选择刚才的Maven Project,然后new modules,同时选中create a simple project
group ID:com.baidu(同parent project里的)
module的package一般都是parent project里package的子路径

五 总结
1)本文写的不是很详细,只是抛砖引玉;
2)想深入了解的朋友们,可以跟帖交流,笔者会尽快答复;
3)部署调试,可以本机运行;也可以linux上写shell持续集成;也可以写junit test来调试;
4)子模块间的互相引用也很简单,add dependency里面,可以互相自动感知;
5)笔者写此文的目的是与大家共享技术,希望看过文章的,都能跟帖发起讨论,建立起良好的学习环境.


作者简介
昵称:澳洲鸟
姓名:朴海林
QQ:85977328
MSN:6301655@163.com

转载请注明出处
分享到:
评论
19 楼 jier007 2011-04-03  
Hypnusds 写道
想知道下 Maven 生成的 Webapp 项目 如何快速调试 环境是 Tomcat + tomcatPlugin

看看springside就知道了。。。
18 楼 yizhilong28 2011-03-24  
看看struts源码就知道maven怎么管理的。
17 楼 zjiaohuang 2011-03-12  
freej 写道
Hypnusds 写道
想知道下 Maven 生成的 Webapp 项目 如何快速调试 环境是 Tomcat + tomcatPlugin


看这个:http://freej.blog.51cto.com/235241/449339


以前学习maven的时候,我自己做的一个简单记录,直接使用tomcatPlugin启动maven生成的web工程,希望对你有用
16 楼 juvenshun 2011-03-12  
haha1903 写道
不过,要是有个 juven 这样的人在,我还是非常支持用 maven 的,否则要慎重。

哈哈哈,乐死我了!
15 楼 hunterkevin 2011-03-10  
2都没咋用过,3都出来了,egg pains。
14 楼 httpclient_bd 2011-03-07  
我不是眼花吧,这帖子还有人投精华??
13 楼 guofengcn 2011-03-06  
……竟然是我的私服没能更新到这个...
12 楼 guofengcn 2011-03-06  
85977328 写道

1.新建个Maven Project,filter处输入pom,选择感知结果pom-root建立工程group ID:com.baidu


我在eclipse里确实,filter处输入pom...什么都没有了...怎么回事?
11 楼 85977328 2011-03-06  
re:haha1903
我会参考你的建议,重新对maven进行描述和改进文章的
10 楼 haha1903 2011-03-06  
引用
    eclipse或者其他工具,在工程之间互相引用非常麻烦

eclipse引用别的工程,那是非常的不麻烦。只要设置项目引用就可以了。
引用
.在eclipse种,java工程之间应用还好.但如果是一个web工程引用app工程,那简直惨不忍睹.所以通过maven实践的优势就诞生了.

在 IDE 中依赖和 maven 没什么关系,用 maven 也解决不了 IDE 中项目依赖的问题。

引用
    使用maven有以下几个优点:
    1)源代码与开发工具脱离,可以自由选择netbean,eclipse,intellij等;

你就一直没说,到底和 IDE 有什么关系,用什么工具 build 不能换 IDE?而且,你看看现在的 m2eclipse,虽然已经成型了,但稳定性、性能一直都不是很完善。
引用
    2)大型工程组织的方便性;

你要付出代价的,ide 支持不好,导致开发效率下降。多个小项目互相依赖导致的复杂性,带来开发和管理成本上升。
引用
    3)持续集成提供良好的支持,例如hudson集合svn一起使用;

看看 hudson 除了能 build maven,还能 build ant,其它的 shell,等等。
引用
    4)包依赖的管理(这点相信是maven项目建立的初衷);

这点 maven 做得不错,同时也可以用 ant 的子项目 ivy 来做。


你下面的例子完全不能说明问题,你的标题是企业大型应用,而你用一个 hello world 来说事,他跑得再好,也不能证明适合实际的项目。
我并不排斥 maven,我排斥的是盲目的跟风,什么项目都跑去用 maven,而忽视使用 maven 背后的成本。“大型应用”也不见得就适合 maven。
不过,要是有个 juven 这样的人在,我还是非常支持用 maven 的,否则要慎重。
9 楼 dwangel 2011-03-05  
phlsbg 写道
是否用maven和应用模式有很大关系
如果项目中没有合适的配置管理人员 不要用
如果是普通的项目                 用了价值没有那么大

我认为在持续性相对长一些的产品级的开发,开发模式是组件形式的
此时用maven很合适,当然要有合适人员不然遇到问题会很恼火的。


楼主和我就差一点就同名,我们的名字是同音不同名。呵呵

小项目也有好处,就是jar包的依赖管理方便。
8 楼 85977328 2011-03-05  
phlsbg 写道
是否用maven和应用模式有很大关系
如果项目中没有合适的配置管理人员 不要用
如果是普通的项目                 用了价值没有那么大

我认为在持续性相对长一些的产品级的开发,开发模式是组件形式的
此时用maven很合适,当然要有合适人员不然遇到问题会很恼火的。


楼主和我就差一点就同名,我们的名字是同音不同名。呵呵

还真是 ,呵呵
我们的项目是组件式和分布式rmi的
所以这个模式挺合适的
7 楼 phlsbg 2011-03-04  
是否用maven和应用模式有很大关系
如果项目中没有合适的配置管理人员 不要用
如果是普通的项目                 用了价值没有那么大

我认为在持续性相对长一些的产品级的开发,开发模式是组件形式的
此时用maven很合适,当然要有合适人员不然遇到问题会很恼火的。


楼主和我就差一点就同名,我们的名字是同音不同名。呵呵
6 楼 surpass_li 2011-03-03  
maven很强大的工具,大项目用maven管理确实不错
5 楼 linux1689 2011-03-03  
向所有学习Maven的兄弟推荐《Maven实战》,确实不错。
4 楼 nurenok 2011-03-02  
把项目分成模块,这样可以减少部署时间
3 楼 freej 2011-03-01  
Hypnusds 写道
想知道下 Maven 生成的 Webapp 项目 如何快速调试 环境是 Tomcat + tomcatPlugin


看这个:http://freej.blog.51cto.com/235241/449339
2 楼 longtinghappy 2011-03-01  
最重要的是架构设计和代码设计,时间出真理
1 楼 Hypnusds 2011-02-26  
想知道下 Maven 生成的 Webapp 项目 如何快速调试 环境是 Tomcat + tomcatPlugin

相关推荐

    Maven3实战视频教程(14集)

    Maven3_03_在eclipse中建立简单的项目 Maven3_04_maven的依赖特性 Maven3_05_maven的聚合和继承 Maven3_06_复习maven的基本内容 Maven3_07_nexus的介绍和安装 Maven3_08_nexus的配置 Maven3_09_发布项目到nexus中 ...

    Maven实战.pdf

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven实战 许晓斌 著

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven2 的新特性.7z

    除了建立相应的目录之外,Maven2还会创建缺省的pom.xml。 Maven2也考虑到:不同类型的项目需要拥有不同的目录结构。如创建web项目,可以使用命令: mvn archetype:create -DgroupId=com.mycompany.app -DartifactId...

    《Maven实战》

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven实战 高清版pdf

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven实战 高清版

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    maven 教程

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven配置文档

    Maven进行测试、使用Hudson进行持续集成、使用 Maven构建 Web应用、Maven的版本管理、Maven的灵活构 建、生成项目站点和 Maven的 m2eclipse插件等实用性较强的高级知识,读者可有选择性的阅读;扩展性地讲解 了如何 ...

    Eclipse中创建Web Maven Project并部署到Tomcat中

    其实之所以不用重启Tomcat等应用服务器,其根本原因是因为我们可以在应用服务器的配置文件中设置虚拟目录,这样就可以知道web 项目所在的目录,于是就可以省去打包、然后再重新发布到服务器的步骤。

    mavenproject

    这是使用Maven和webapp-runner为Tomcat构建的示例可立即部署的Java Web应用程序。 本地运行 (需要安装Maven和Java) mvn package java -jar target/dependency/webapp-runner.jar target/*.war 该应用程序将在...

    tomcat6、7、8、9, maven3.5

    重构的应用程序部署器,具有可选的独立部署器,允许在Web应用程序投入生产之前进行验证和编译 使用JMX和管理器Web应用程序完成服务器监视 可扩展性和可靠性增强 改进了Taglibs的处理,包括高级池和标签插件 改进的...

    monorepo-sample:Maven或Bazel启动器中的Monorepo

    apps/下的两个玩具应用apps/依赖于libs/下的共享代码。 . ├── apps │ ├── app1 │ └── app2 └── libs ├── lib1 └── lib2 持续整合 子文件夹包含一个自包含的ci堆栈,用于使用Jenkins构建...

    基于maven项目的SSM框架与layu前端框架的代码

    OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从...

    joinfaces-maven-jar-example:JoinFaces Maven Jar示例

    2-建立 mvn clean install 3运行 java -jar target/joinfaces-example-4.4.2.jar 4-访问启动页面 可选:如果您的IDE显示构建错误,请安装 密钥文件 pom.xml 包括joinfaces入门依赖项。 所有其他jsf依赖关系都...

    gwt-polymer-1:集成 Polymer 的 Maven GWT 应用程序

    gwt-聚合物 集成 Polymer 的 Maven GWT 应用程序 ... Polymer 建立在这些新标准之上,可以更轻松、更快速地创建任何东西,从按钮到跨桌面、移动设备等的完整应用程序。 GWT + 聚合物 与 Polymer 集成的简单

    java-maven-calculator-web-app:一个Java计算器Web应用程序,由Maven构建,CICD由Jenkins构建

    Java Maven计算器Web应用 Java计算器Web应用程序,由Maven构建,CI / CD由Jenkins构建。 1.通过Maven手动构建,测试和部署 1.1启动Nexus(可选) $ cd ~ /sonatype/nexus/bin $ ./nexus start 使用admin / admin...

    guide-maven-multimodules:有关如何使用Maven和Open Liberty创建多模块应用程序的指南:https:openliberty.ioguidesmaven-multimodules.html

    您将学习如何使用Maven和Open Liberty构建具有多个模块的应用程序。你会学到什么Java平台企业版(Java EE)应用程序由作为一个实体一起工作的模块组成。 企业归档文件(EAR)是Java EE应用程序的包装,它由Web归档...

    amor:临时Maven对象存储库-此处使用七巧板素材完成的简约工件服务

    设置系统: 建立项目gradle clean build 启动本地开发应用服务器 dev_appserver -p 12380 build\war汇入资料bulkloader.py --restore --url=http://localhost:12380/remote_api --filename=online-src/amor.db ...

Global site tag (gtag.js) - Google Analytics