maven2 is the future?

本文详细介绍如何使用Maven2快速搭建Java项目开发环境,并介绍了配置Maven2、使用Subversion下载项目源码、编译项目及下载依赖库的方法。此外,还提供了使用Eclipse集成Maven2的步骤。

maven2 会是未来Java软件项目管理的主导?谁知道呢,现在apache上的很多项目都用maven2来管理了,听说 dev.java.net 也在这么干

 

maven2在编译项目时,可以在网站上下载该项目依赖的其他jar文件,这想法挺像yum的
mvn dependency:sources 在解析依赖关系,下载依赖库的时候,就会同时下载源代码
很多好东西都放在http://repo1.maven.org/maven2 里面了,类似livna源的api仓库

 

如何快速建立 使用maven2管理的项目 的开发环境 (以下内容在 Maven version: 2.0.9 调试通过)
1.  下载maven2:http://maven.apache.org/download.html 注意这里有说明如何配置maven2
       a. 添加环境变量 JAVA_HOME 和 M2_HOME
           可以添加 MAVEN_OPTS 作为 maven2 的 vm 参数,apache 推荐设置为

                -Xms256m -Xmx512m
       b. 将 %M2_HOME%/bin 添加到 path 中
2.  安装 subversion 等类似的版本控制器,这样就可以下载已经使用 maven2 管理的项目了
       a. 如何安装 svn 可以参考 http://www.subversion.org
       b. 例如:使用 svn 下载 apache-common 的源代码
             svn co https://svn.apache.org/repos/asf/commons/proper/digester/trunk commons-digester

3.  进入 commons-digester 目录中,执行 mvn dependency:sources compile 就可以编译 common了,编译后,还会把 digester 依赖的工程代码下载下来,下载的代码被放到本地仓库中,仓库位置从
    %home%/.m2/settings.xml 或 %m2_home%/conf/settings.xml 的 <localRepository> 中读取,默认是 C:/Documents and Settings/%username%/.m2/repository

 

3'. 也可以进入 common-digester 目录中,自定义 settings.xml,而后运行 maven2
    ps: 3' 与 3 差不多,只是使用了自定义的 settings.xml
       a.  执行 copy %m2_home%/conf/settings.xml ./
       b.  编辑 ./settings.xml,修改的内容类似于:
             <settings>
                <localRepository>/path/to/repository</localRepository>
             </settings>
           ps:修改编译时,依赖的项目内容存储位置为 /path/to/repository
       c.  mvn -s./settings.xml dependency:sources compile
           或 mvn -Dorg.apache.maven.user-settings=settings.xml dependency:sources compile
           或 mvn -Dorg.apache.maven.global-settings=settings.xml dependency:sources compile

 

通过以上1 2 3 步,就可以成功编译一个 maven2 管理的项目了,当然,这个项目依赖的所有其他项目及其源代码也已经被保存到仓库里了,

 

4.  eclipse fans 可以通过一下步骤完成 eclipse 工程的建立:

  a. 创建 eclipse 工程生成$workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings

      /org.eclipse.jdt.core.prefs,这里包含 classpathentry 的定义

      下面是用MyWS作为临时创建的工程名,即 $workspace=MyWS

      使用 mvn eclipse:configure-workspace -Declipse.workspace=MyWS

      ps: 按照 3' 配置的,使用 mvn -ssettings.xml eclipse:configure-workspace

                                              -Declipse.workspace=MyWS

 

  b.  创建 eclipse 项目配置信息 mvn eclipse:eclipse 

       ps: 按照 3' 配置的,使用 mvn -ssettings.xml eclipse:eclipse

       ps: 如果忘记了在 mvn compile 中忘记添加了 dependency:sources,可以在这里使用

             mvn -DdownloadSources=true eclipse:eclipse 看看,如果要构建 wtp 项目,可以

             试试 mvn -Dwtpversion=1.5 看看,能省不少力气哈

 

  c. 使用 eclipse 启动 MyWS 工程,而后在该工程中导入项目即可

      如果使用已经存在的工程,导入刚创建的项目,会提示缺少M2_REPO classpath variable,解决

      办法有三种:(1)可以把 $workspace/.metadata/.plugins/org.eclipse.core.runtime

      /.settings/org.eclipse.jdt.core.prefs 中的内容,拷贝到当前工作空间org.eclipse.jdt.core.prefs

      中;(2) 可以在window >> preferences >> Java >> Build Path >> Classpath Variables 中

      添加;(3) M2_REPO类路径变量,也可以把M2_REPO添加到当前工程的类路径变量定义中

 

  ps: 当然 netbeans、idea 等开发工具对 maven2 的支持也很好,由于不太熟悉,不多说了

 

 

最后:
maven2 的配置在 %M2_HOME%/conf/setting.xml,可以参考
  http://maven.apache.org/ref/2.0.8/maven-settings/settings.html

 

maven2项目的配置文件是pom.xml(project object module 反应堆),

如果确定要是使用maven2来管理软件开发,可以参考:

  http://www.ibm.com/developerworks/cn/edu/j-dw-java-mavenv2.html

  http://blog.csdn.net/wind5shy/archive/2007/10/18/1830826.aspx

  http://tof-j.javaeye.com/blog/176363

当然,上面的还不能满足的话,就要参考这里了

  http://maven.apache.org/pom.html

 

 

 

mvn archetype:create -DgroupId=com.jactive.wwsample -DartifactId=wwsample -Dpackagename=com.jactive.wwsample -DarchetypeArtifactId=maven-archetype-webapp

 


archetype:create is out of time.  the newbie  archetype:generate  seems a powerfule one, although some bugs in it.


see mvn archetype:help  for more details. generall speaking type "mvn archetype:generate" will intruduce u alot.

 

If archetype:generate is not avaliable, commands below may satisfy u on some points.

 

mvn archetype:create -DgroupId=jactive-web -DartifactId=project-name -DarchetypeArtifactId=maven-archetype-webapp
# artifactId is project name

cd projectname
mvn eclipse:eclipse -Dwtpversion=2.0 -DdownloadSources=true

 

the parameter of wtpversion can be : "1.0", "1.5", "2.0" or "R7". it depends on your eclipse wtp version which parameter you pick.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值