使用MAVEN进行工程自动化构建
2009-03-27 08:42
537 查看
关键字: maven
最近学习了一下maven将学习的一些心得写下来:
1 什么是maven? 他能为我们做什么?
Maven是一个构建工具, 使用一定的目录组织结构来简化和一致项目构建。它把编译、打包、测试、发布等开发过程中的不同环节有机的串联了起来。
2 如何安装maven? (包括maven插件)
(1)首先在http://maven.apache.org上下载maven-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.0.4</st1:chsdate>-bin.zip文件,例如将该文件解压缩到c:/ maven-2.0.4.(当前版本)<o:p></o:p>
(2)将c:/maven-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.0.4</st1:chsdate>/bin目录加入到环境变量%path%中。<o:p></o:p>
(3)运行mvn –version确认是否安装成功。显示Maven version <st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.0.4</st1:chsdate>则表示安装成功。
2.1 maven插件的安装:
(1)进入eclipse点击HelpàSoftware UpdatesàFind and Insall…àSearch for new features to installàNextàNew Remote Site…
(2) 在弹出的界面中输入Name:m2plugin URL:http://m2eclipse.codehaus.org/
<o:p>在网站上更新下载,重新启动eclipse,这样插件就安装完成了。</o:p>
<o:p></o:p><o:p>3 简单的java应用程序和java web程序的例子</o:p>
<o:p>首先输入命令<o:p></o:p></o:p>
mvn archetype:create -DgroupId=cn.com.capinfo -DartifactId=my-app<o:p></o:p>
生成的项目布局如下:<o:p></o:p>
my-app
----src
----main
----java<o:p></o:p>
----cn
----com
----capinfo
----test
----java<o:p></o:p>
----cn
----com
----capinfo
还会在my-app目录下创建了一个pom.xml文件(需要注意一点:执行命令必须在pom.xml文件同级的目录下进行)
<o:p> </o:p>
下面对pom.xml的各各结点进行一下说明:<o:p></o:p>
poject 这是pom.xml的顶级元素。<o:p></o:p>
modelVersion 这是元素指出了这个POM使用的是那个版本的对象模型。这个模型的版本自身么是经常改变的,但这种改变是为了使模型更加的稳定。<o:p></o:p>
groupId这个元素指出创建这个工程的组织或团队的唯一标识,并且这个也是一个项目的关键标识,推荐使用这个组织或团队的完整域名。<o:p></o:p>
artifactId 这个元素指出这个工程的基本名称。<o:p></o:p>
packaging 打包的类型(例如:JAR,WAR,EAR等等)默认为jar<o:p></o:p>
version项目的版本号(打包时会将它加入)<o:p></o:p>
name 这个元素指出这个工程显示的名称。<o:p></o:p>
url指出在哪里能发现工程的站点。
desription 这个元素提供了这个工程基本的描述。这个也常用于Maven产生的文档中。<o:p></o:p>
dependencies 定义依赖(项目中需要依赖的包)<o:p></o:p>
以上是maven的一些基本项,完整的请参考http://maven.apache.org/maven-model/maven.html<o:p></o:p>
还需要注意在定义依赖的时候存在着几种对依赖的管理如下:<o:p></o:p>
compile,缺省值,适用于所有阶段,会随着项目一起发布。 <o:p></o:p>
runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 <o:p></o:p>
test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 <o:p></o:p>
system,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。 <o:p></o:p>
而maven下载这些包是通过在http://www.ibiblio.org/maven2/网站上下载的
<o:p></o:p>
mvn archetype:create -DgroupId=cn.com.capinfo -DartifactId=demo
-DarchetypeArtifactId=maven-archetype-webapp<o:p></o:p>
生成的结果结构如下所示:
demo
----src
----main
----resources
----webapp
----WEB-INF<o:p></o:p>
与java应用程序相比pom.xml需要修改的地方是<o:p></o:p>
<packaging>war</packaging><o:p></o:p>
如果想改变生成后war文件的名字可以加入以下代码<o:p></o:p>
<build>
<finalName>capinfo demo</finalName>
</build><o:p></o:p>
填加依赖的时候是比较麻烦的,因为groupId、artifactId、version是必填项,有时候不知道用哪个版本,有一个小的窍门:
首先进入google然后输入你要找的文件如:site:www.ibiblio.org maven2 struts 进入相应的页中打开maven-metadata.xml 文件就可以得到所需要的信息了。<o:p></o:p>
需要注意一点,如果想将.jar文件加载到WEB-INF/lib文件夹下需要将<scope>compile</scope>这样就可以将.jar文件填加进去了。<o:p></o:p>
创建Maven项目:mvn archetype:create
编译源代码:mvn compile
编译测试代码:mvn test-compile
运行测试:mvn test
产生site:mvn site
打包:mvn package
在本地Repository中安装jar:mvn install
清除产生的项目:mvn clean<o:p></o:p>
最近学习了一下maven将学习的一些心得写下来:
1 什么是maven? 他能为我们做什么?
Maven是一个构建工具, 使用一定的目录组织结构来简化和一致项目构建。它把编译、打包、测试、发布等开发过程中的不同环节有机的串联了起来。
2 如何安装maven? (包括maven插件)
(1)首先在http://maven.apache.org上下载maven-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.0.4</st1:chsdate>-bin.zip文件,例如将该文件解压缩到c:/ maven-2.0.4.(当前版本)<o:p></o:p>
(2)将c:/maven-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.0.4</st1:chsdate>/bin目录加入到环境变量%path%中。<o:p></o:p>
(3)运行mvn –version确认是否安装成功。显示Maven version <st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.0.4</st1:chsdate>则表示安装成功。
2.1 maven插件的安装:
(1)进入eclipse点击HelpàSoftware UpdatesàFind and Insall…àSearch for new features to installàNextàNew Remote Site…
(2) 在弹出的界面中输入Name:m2plugin URL:http://m2eclipse.codehaus.org/
<o:p>在网站上更新下载,重新启动eclipse,这样插件就安装完成了。</o:p>
<o:p></o:p><o:p>3 简单的java应用程序和java web程序的例子</o:p>
<o:p>首先输入命令<o:p></o:p></o:p>
mvn archetype:create -DgroupId=cn.com.capinfo -DartifactId=my-app<o:p></o:p>
生成的项目布局如下:<o:p></o:p>
my-app
----src
----main
----java<o:p></o:p>
----cn
----com
----capinfo
----test
----java<o:p></o:p>
----cn
----com
----capinfo
还会在my-app目录下创建了一个pom.xml文件(需要注意一点:执行命令必须在pom.xml文件同级的目录下进行)
<o:p> </o:p>
下面对pom.xml的各各结点进行一下说明:<o:p></o:p>
poject 这是pom.xml的顶级元素。<o:p></o:p>
modelVersion 这是元素指出了这个POM使用的是那个版本的对象模型。这个模型的版本自身么是经常改变的,但这种改变是为了使模型更加的稳定。<o:p></o:p>
groupId这个元素指出创建这个工程的组织或团队的唯一标识,并且这个也是一个项目的关键标识,推荐使用这个组织或团队的完整域名。<o:p></o:p>
artifactId 这个元素指出这个工程的基本名称。<o:p></o:p>
packaging 打包的类型(例如:JAR,WAR,EAR等等)默认为jar<o:p></o:p>
version项目的版本号(打包时会将它加入)<o:p></o:p>
name 这个元素指出这个工程显示的名称。<o:p></o:p>
url指出在哪里能发现工程的站点。
desription 这个元素提供了这个工程基本的描述。这个也常用于Maven产生的文档中。<o:p></o:p>
dependencies 定义依赖(项目中需要依赖的包)<o:p></o:p>
以上是maven的一些基本项,完整的请参考http://maven.apache.org/maven-model/maven.html<o:p></o:p>
还需要注意在定义依赖的时候存在着几种对依赖的管理如下:<o:p></o:p>
compile,缺省值,适用于所有阶段,会随着项目一起发布。 <o:p></o:p>
runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 <o:p></o:p>
test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 <o:p></o:p>
system,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。 <o:p></o:p>
而maven下载这些包是通过在http://www.ibiblio.org/maven2/网站上下载的
<o:p></o:p>
mvn archetype:create -DgroupId=cn.com.capinfo -DartifactId=demo
-DarchetypeArtifactId=maven-archetype-webapp<o:p></o:p>
生成的结果结构如下所示:
demo
----src
----main
----resources
----webapp
----WEB-INF<o:p></o:p>
与java应用程序相比pom.xml需要修改的地方是<o:p></o:p>
<packaging>war</packaging><o:p></o:p>
如果想改变生成后war文件的名字可以加入以下代码<o:p></o:p>
<build>
<finalName>capinfo demo</finalName>
</build><o:p></o:p>
填加依赖的时候是比较麻烦的,因为groupId、artifactId、version是必填项,有时候不知道用哪个版本,有一个小的窍门:
首先进入google然后输入你要找的文件如:site:www.ibiblio.org maven2 struts 进入相应的页中打开maven-metadata.xml 文件就可以得到所需要的信息了。<o:p></o:p>
需要注意一点,如果想将.jar文件加载到WEB-INF/lib文件夹下需要将<scope>compile</scope>这样就可以将.jar文件填加进去了。<o:p></o:p>
创建Maven项目:mvn archetype:create
编译源代码:mvn compile
编译测试代码:mvn test-compile
运行测试:mvn test
产生site:mvn site
打包:mvn package
在本地Repository中安装jar:mvn install
清除产生的项目:mvn clean<o:p></o:p>
相关文章推荐
- 使用MAVEN进行工程自动化构建(1)
- 使用MAVEN进行工程自动化构建(2)
- 在Maven+Spring项目中使用Node.js的Gulp进行前端自动化构建
- 在Maven+Spring项目中使用Node.js的Gulp进行前端自动化构建
- 在Maven+Spring项目中使用Node.js的Gulp进行前端自动化构建
- 在Maven+Spring项目中使用Node.js的Gulp进行前端自动化构建
- 使用Jenkins配置自动化构建maven项目
- Opencv实现盲水印技术(二)——使用maven构建Java Web工程
- 通向架构师的道路(第十九天)使用maven构建Spring工程
- 使用Maven构建Java工程(Building Java Projects with Maven)
- 使用maven 一步步构建springmvc的工程
- 通向架构师的道路(第十九天)使用maven构建Spring工程
- 使用CruiseControl.NET进行自动化构建总结
- 如何搭建和运行github上面使用maven构建的nfd工程
- 使用Maven构建Java工程(Building Java Projects with Maven)
- 使用Maven构建Java工程(Building Java Projects with Maven)
- 使用MSBuild进行自动化构建
- 淘淘商城系列——使用maven构建工程
- 淘淘商城系列——使用maven构建工程时出现的错误
- 使用Maven构建一个简单的java工程