`

使用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中进行进一步开发了。

 

 

1
0
分享到:
评论
2 楼 DavyJones2010 2013-04-27  
Nice!
1 楼 jwu 2010-04-20  
13769166426

相关推荐

    maven window下安装包

    第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.1 自定义项目原型结构组成 第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.2 命令行生成项目原型项目 第13章:使用Maven生成项目原型/...

    Maven2 的新特性.7z

    在Maven2中建议使用自定义的plugin来封装这些内容。 如果仍期望能够使用类似maven.xml的功能,如,请参考Inserting non-standard build steps using preGoals and postGoals。 在Maven2中,配置使用settings.xml,...

    Maven权威指南 很精典的学习教程,比ANT更好用

    2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装Maven 2.3.3. 在Linux上安装Maven 2.3.4. 在FreeBSD或OpenBSD上...

    aem-project-archetype:用于在AEM上创建最佳实践网站的Maven模板

    Maven模板创建一个最小的,基于最佳实践的Adobe Experience Manager(AEM)项目作为您网站的起点。 文献资料 :原型架构及其不同模块的概述。 以下教程基于该原型: :了解如何启动一个全新的网站。 WKND SPA...

    springboot参考指南

    使用@ServerEndpoint创建WebSocket端点 xvii. 64.17. 启用HTTP响应压缩 i. 64.17.1. 启用Tomcat的HTTP响应压缩 ii. 64.17.2. 使用GzipFilter开启HTTP响应压缩 iv. 65. Spring MVC i. 65.1. 编写一个JSON REST服务 ...

    GoodProject Maven Webapp.zip

    2、自定义身份属性:图灵机器人平台所提供的ChatBot支持充分的机器人一体化身份属性自定义,开发者通过平台页面对机器人的20多个常见属性进行快捷设置,打造具备个性化身份属性的ChatBot。[2] 3、情感识别引擎:图灵...

    Java微服务架构l零从基础到精通高清视频教程全套 163课

    073 使用 MyBatis Maven Plugin 自动生成代码 074 集成 MyBatis-测试查询 第7章 项目实战 075项目简介 076 创建依赖管理项目 077 创建通用工具项目 078 创建数据库管理项目 079 创建领域模型项目 080 创建管理...

    Java微服务架构163课

    073 使用 MyBatis Maven Plugin 自动生成代码 074 集成 MyBatis-测试查询 第7章 项目实战 075项目简介 076 创建依赖管理项目 077 创建通用工具项目 078 创建数据库管理项目 079 创建领域模型项目 080 ...

    SpringBoot新手学习手册

    2.1、创建一个Maven工程 2 2.2、pom文件引入依赖 3 2.3、编写HelloWorld服务 3 2.4、@RestController 4 2.5、@EnableAutoConfiguration 4 2.6 SpringApplication.run(HelloController.class, args); 4 2.7、...

    aem-sites-example-custom-template-type:用于构建AEM模板编辑器自定义模板类型的示例

    当前存储库包含一个示例内容包,提供了一个内容结构,该内容结构说明了自定义模板类型的创建。 描述: 当前的内容包提供: 具有以下内容的自定义页面组件 具有动态值的额外开放图元标记 页面属性对话框上的额外...

    gradle in action

    Gradle In Action(Gradle实战)中文版 ...Maven的一个严格的约定就是每个项目都要生成一个artifact,比如jar文件,但是 你怎么从同一个源代码结构中创建两个不同的JAR文件,因此你不得不分开创建两个项目。

    InnoxiumWebsite:这包含网站的源代码和rest api

    项目结构 目录 描述 frontend/ 客户端源目录 index.html HTML模板 index.ts 前端入口点,包含使用的客户端路由设置 main-layout.ts 主布局Web组件,包含导航菜单,使用 views/ UI视图Web组件(TypeScript) ...

    Wicket 8.X开发文档(中文翻译+英文原版)

    附录A:使用Maven A.1。将Wicket切换到DEPLOYMENT模式 A2。从头开始创建Wicket项目并将其导入我们最喜欢的IDE 附录B:项目WicketStuff B.1。什么是项目WicketStuff B.2。模块tinymce B.3。模块wicketstuff-gmap3 B.4...

    idea使用教程2017-06-01.pdf

    涵盖安装、配置、常见问题&技巧、Maven、Git、Tomcat、快捷键、项目配置等. 入门................................................................................................................................

    Gamesjar-Monolit

    项目结构 src/main/java中的MainView.java包含导航设置。 它使用 。 src/main/java中的views软件包包含应用程序的服务器端Java视图。 frontend/src/中的views文件夹包含应用程序的客户端JavaScript视图。 接下来是...

    Docker 4 Dockerfile

    dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,另外,使用Dockerfile去构建镜像好比使用pom去构建maven项目一样,有异曲同工之妙 dockerfile基本结构 Dockerfil

    互联网创意产品众筹平台

    │ 10.Maven项目模块划分-创建项目 │ 11.Maven项目模块划分-引用依赖包( f- {5 L4 F2 i8 z+ c* U │ 12.项目环境搭建细节-监听器 │ 13.项目环境搭建细节-过滤器 │ 14.项目环境搭建细节-核心控制器 │ 15.项目环境...

    finance-master汇尚电子商务商品管理系统.zip

    平台使用了maven作为项目管理,使用了web开发流行的框架便于学习使用,具体使用了spring、springmvc、apache?shiro、hibernate、spring?data?jpa、ehcache等框架,为了统一页面风格使用DWZ作为页面富客户端的展示。 ...

    jsfworkshop:萨克森 JSF 研讨会

    创建和使用自定义组件 范围界定 使用引导程序进行静态导航,将模板更改为引导程序 验证和消息 编码 自定义转换器 新话题 我继续使用这个项目来制作小功能的原型。 添加以下主题: 动态表单:用户可扩展的表单。 ...

Global site tag (gtag.js) - Google Analytics