1. 新建一个项目,groupid = com.lzy.mvntest , artifactId为NumOps,和版本号一起唯一标识工程。
在命令行下 mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.lzy.mvntest -DartifactId=NumOps
该命令为 Archetype 插件提供您模块的坐标:com.ibm.devworks/NumOps/1.0-SNAPSHOT。
在此情况下,不需要指定版本,因为 Archetype 插件常默认为 1.0-SNAPSHOT。
此命令为项目创建了一个起始的 pom.xml 文件,也创建了规范的 Maven 2 目录结构。
2. 写好对应的java文件以后,在pom.xml文件里面加入以下build信息
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>(这个地方没有加上的话会报错,参考http://maven.apache.org/plugins/maven-compiler-plugin/usage.html)
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
进入到项目文件夹中使mvn compile进行编译
3. 在对应的test目录下面写测试文件,使用命令mvn test进行编译和测试
4. 在项目整合的时候, 每一个均有自己的pom.xml文件,同时在最顶层有主项目的pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ibm.devworks</groupId>
<artifactId>mavenex2</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>Maven Example 2</name>
<url>http://maven.apache.org</url>
<modules>
<module>NumOps</module>
<module>OpsImp</module>
</modules>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.ibm.devworks</groupId>
<artifactId>OpsImp</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
其中对于junit的依赖,模块中不用重复写,因为继承了主模块的属性。
<modules>标签和打包类型为pom表示这个是一个多模块的项目
<dependencyManagement> 标记不指定此模块依赖的依赖项。
相反,它主要由子模块使用。
子模块能指定 <dependencyManagement> 标记中任何条目的依赖项,而无需指定具体的版本号。
当项目树更改依赖项的版本号时,这很有用,可以使需编辑的条目数目最小化。
在本例中,OpsImp 项目的版本号是使用 ${project.version} 指定的。
在执行 Maven 时,这是一个会被相应值所填充的参数。
5. 使用mvn test 或者mvn complie进行编译,使用mvn install进行打包。
使用mvn help:effective-pom 显示集成后的pom的内容 。
6. eclipse的maven的插件安装以及使用参考命令行下的步骤后较为简单,在此不记录。
7. 因为依赖的组件大部分是在组件库中,有时需要手动添加组件进来。在eclipse里面先要导入自己工程依赖的组件,然后再添加依赖项的功能中找到对应的。具体方法是在项目点右键,import->install or deploy an artifact to a Maven repository,添加后,再项目点右键->maven->add dependency输出刚才导入的依赖组件即可。
如果要手动输入的话按照以下命令:
mvn install:install-file -Dfile=sqljdbc.jar -DgroupId=com.lee -DartifactId=sqljdbc -Dversion=5.1.18 -Dpackaging=jar
其中Dfile是jar包路径,依次是groupid,artifactid和版本号以及打包方式。 执行命令后需要手动将其拷入到本地仓库中,仓库地址参考maven的配置文件。然后在文件中加入相关的dependency标签或者项目即可。
联系客服