使用maven2自定义项目结构创建项目

1. 首先使用命令:

mvn archetype:create -DgroupId=com.jwu -DartifactId=jwu-archetype -DarchetypeArtifactId=maven-archetype-archetype

创建 arche type

该命令在当前目录创建了一个名为 jwu-archetype maven项目,具有 src目录和 pom.xml文件。

 

2. 然后修改 archetype descriptor文件 archetype.xml,在 \jwu-archetype\src\main\resources\META-INF\maven 目录下:

<archetype>
  <id>jwu-archetype</id>
  <sources>
    <source>src/main/java/App.java</source>
  </sources>
  <resources>
    <resource>src/main/webapp/WEB-INF/web.xml</resource>
  </resources>
  <testSources>
    <source>src/test/java/AppTest.java</source>
  </testSources>
</archetype>
 

这里面不能指定空的目录,只能指定单个的文件。 resources目录会作为默认目录创建。

目录结构如下:

<none>

 

 

3. 然后再修改模板 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>${groupId}</groupId>
  <artifactId>${artifactId}</artifactId>
  <packaging>war</packaging>
  <version>${version}</version>
  <name>A custom project</name>
  <url>http://www.mycom.com</url>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
</project>
 

注意里面的粗体值(

  <groupId>${groupId}</groupId>
  <artifactId>${artifactId}</artifactId>
  <version>${version}</version>

),它们将被创建项目时指定的值代替。

 

4. 另外,还需要修改里面附带的一个测试文件: App.java \src\main\resources\archetype-resources\src\main\java目录,删除该 java文件的包声明。

 

同样需要删掉对应的 AppTest.java文件的包声明,在 C:\yaowen\dev\playground\maven2projects\jwu-archetype \src\main\resources\archetype-resources\src\test\java目录下。

这里为了方便,可以把要创建的 archetype指定一个简单的版本号,默认为 1.0-SNAPSHOT

修改在 \jwu-archetype目录下的 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.jwu</groupId>
  <artifactId>jwu-archetype</artifactId>
  <version>1.0</version>
  <name>Archetype - jwu-archetype</name>
  <url>http://maven.apache.org</url>
</project>

5. 进入 \jwu-archetype目录,执行 mvn install命令,安装该 archetype。安装完成之后,在该目录会产生一个 target目录,同时在 maven repository目录生成 mavenRepo\m2\com\jwu\jwu-archetype\1.0\ jwu-archetype-1.0.jar jwu-archetype-1.0.pom等文件。

 

\dev\playground\maven2projects\jwu-archetype>mvn install

  [INFO] [jar:jar]

[INFO] Building jar: C:\name\dev\playground\maven2projects\jwu-archetype\targe

t\jwu-archetype-1.0.jar

[INFO] [install:install]

[INFO] Installing C:\name\dev\playground\maven2projects\jwu-archetype\target\j

wu-archetype-1.0.jar to C:\yaoInstall\mavenRepo\m2\com\jwu\jwu-archetype\1.0\jwu

-archetype-1.0.jar

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESSFUL

 

表示安装成功。接下来就可以使用这个自定义的 archetype了。

参考文档: http://maven.apache.org/plugins/maven-archetype-plugin/examples/archetype.html

 

 

创建测试项目: infowu

 

\dev\playground\maven2projects\jwu-archetype>cd ..

退出 \jwu-archetype目录,执行 mvn命令:

\dev\playground\maven2projects\jwu-archetype>mvn archetype:create  -DgroupId=com.jwu.info -DartifactId=infowu -Dpackage=com.jwu.info.infowu -Dversion=1.0-SNAPSHOT -DarchetypeGroupId =com.jwu -DarchetypeArtifactId =jwu-archetype -DarchetypeVersion =1.0

生成的目录结构如下:

<none>

 

测试一下生成的项目: \dev\playground\maven2projects\infowu>mvn test

 

生成 eclipse项目:

\dev\playground\maven2projects\infowu>mvn eclipse:eclipse -Dwtpversion=2.0

这样就可以导入到 eclipse IDE中进行进一步开发了。

 

猜你喜欢

转载自jwu.iteye.com/blog/612944