Maven 的简单应用
安装Maven
下载Maven最新版本,见:maven.apache.org/download.html
解压缩下载的文件, 将其中的bin目录设置到windows Path环境变量中.
如下:
变量名:MAVEN_HOME
变量值:D:"java"apache-maven-2.1.0
测试安装是否成功:在命令行中输入
mvn -version
安装Maven插件
安装Eclipse的 Maven插件 M2Eclipse。
本文使用:
JDK:SUN JDK1.6.0_03
Eclipse:3.3.1.1
M2Eclipse插件网址:m2eclipse.codehaus.org
通过Eclipse在线更新网址:m2eclipse.codehaus.org/update/
具体安装步骤见插件网址。
创建Maven的Java项目并导入到Eclipse中
在命令行中,进入eclipse的workspace目录下,输入:
mvn archetype:create -DgroupId=org.marshal -DartifactId=helloworld
其中:
org.marshal是组织名称,另外maven自动生成了源代码的包org/marshal
helloworld是项目名称
运行命令后,workspace目录下生成helloworld目录,并生成:
项目构建文件: pom.xml
代码框架:src"main"java"org"marshal"helloworld"App.java
测试代码:src"test"java"org"marshal"helloworld"AppTest.java
这时可以通过文本编辑器修改App.java源代码,并通过如下命令编译打包:
maven pacage
编写AppTest.java后,可通过下面命令运行JUnit测试:
mvn test
通过如下命令运行main方法:
java -cp target"helloworld-1.0-SNAPSHOT.jar org.marshal.App
不过,还是最好通过IDE工具编写和调试代码,这需要将maven项目导入为Eclipse项目。
在helloworld目录下,运行下面命令,使项目支持eclipse:
mvn eclipse:eclipse
然后,打开Eclipse,通过File>import...,general>existing projects into workspace,将helloworld导入。
创建maven Web项目并导入到Eclipse中
如果需要创建maven的web项目,在eclipse的workspace目录下,运行:
mvn archetype:create -DgroupId=org.marshal -DartifactId=myweb -DarchetypeArtifactId=maven-archetype-webapp
将创建名为myweb的web项目。
为该项目增加eclipse WTP的支持,到myweb目录下,运行:
mvn -Dwtpversion=1.0 eclipse:eclipse
将该项目导入Eclipse,和上面java项目类似。
使用M2Eclipse插件
安装M2Eclipse插件成功后,在Eclipse点击刚才创建的web项目或者java项目。
鼠标右键,Maven>Enable dependency management,使m2eclipse插件对该项目生效。
再次鼠标右键,选择Maven>add dependency,就可以通过网络增加需要的类库了。
选中后,maven将自动下载该类库版本到本地,并且自动加入到eclipse类库中。
Maven 常用到的命令:
以下是创建webapp用到的命令,原型用maven-archetype-webapp
mvn archetype:create -DgroupId=com.xudong -DartifactId=myjavaeeweb -DpackageName=com.xudong.mavenlearn -DarchetypeArtifactId=maven-archetype-webapp
以及用到的命令
1 创建Maven项目:mvn archetype:create
2 编译源代码:mvn compile
3 编译测试代码:mvn test-compile
4 运行测试:mvn test
5 产生site:mvn site
6 打包:mvn package
7 在本地Repository中安装jar:mvn install
8 清除产生的项目:mvn clean
9 在jetty中运行项目:mvn jetty:run
10 生成ecipse项目,mvn eclipse:eclipse
再就是pom.xml和settings.xml,其他settings.xml常用的配置就是配置offline,我比较喜欢配置成true(这样就不会先去远程下载了),还有设置localRepository,这个设置成绝对路径。