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

1028

被折叠的 条评论
为什么被折叠?



