zoukankan      html  css  js  c++  java
  • Maven的多模块(MultiModule)工程的pom编写

    对于使用maven的骨架创建工程,想必大家都已经熟悉了,这里是一些常用的工程类型,如想看到更多的骨架可以使用mvn的交互式Interactive generate Goal创建指令:mvn archetype:generate

    // Creating a simple java application
    mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's artifact id]

    // Creating a webapp
    mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's artifact id] -DarchetypeArtifactId=maven-archetype-webapp

    // Creating a site
    mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's artifact id] -DarchetypeArtifactId=maven-archetype-site-simple

    // Creating a mojo
    mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's artifact id] -DarchetypeArtifactId=maven-archetype-mojo

    // Creating a portlet
    mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's artifact id] -DarchetypeArtifactId=maven-archetype-portlet

    现在想介绍的是多模块的工程的构建。

    典型的多模块划分,即按MVC的分层方式来构建多个模块,如工程包括web,business,core3个模块。好我们先看看主工程的pom中应添加些什么,请注意红色文字部分

     

    1.主工程的pom文件中内容:

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.your-company.xxxx</groupId>
    <artifactId>xxxx</artifactId>
    <packaging>pom</packaging>
    <version>1.0</version>
    <name>xxxx Project</name>
    <url>http://maven.apache.org</url>

    <!-- 工程所包含的模块 -->

    <modules>
    <module>xxxx-core</module>
    <module>xxxx-business</module>
    <module>xxxx-web</module>
    </modules>

    2.Web模块的pom文件:

    <!-- 父级的pom文件位置 -->

    <parent>
    <groupId>com.your-company.xxxx</groupId>
    <artifactId>xxxx</artifactId>
    <version>1.0</version>
    <relativePath>../pom.xml</relativePath>
    </parent>

    <groupId>com.your-company.xxxx</groupId>
    <artifactId>xxxx-web</artifactId>
    <packaging>war</packaging>
    <version>1.0</version>
    <name>xxxx-web/name>
    <url>http://maven.apache.org</url>

    <dependencies>
    <!-- Application Dependencies -->
    <!-- Web层所依赖的上两层模块 -->

    <dependency>
    <groupId>com.your-company.xxxx</groupId>
    <artifactId>xxxx-core</artifactId>
    <version>${version}</version>
    </dependency>
    <dependency>
    <groupId>com.your-company.xxxx</groupId>
    <artifactId>xxxx-business</artifactId>
    <version>${version}</version>
    </dependency>

    ...

    <dependencies>

     

    3.完成后,mvn eclipse:eclipse后的文件目录为:

    xxxx

    ├─xxxx-core

    │ ├─pom.xml
    │ ├─.settings
    │ ├─src
    │ │ ├─main
    │ │ │ ├─java
    │ │ │ └─resources
    │ │ └─test
    │ │ ├─java
    │ │ └─resources
    │ └─target
    │ ├─classes
    │ └─test-classes

    ├─xxxx-business
    │ ├─pom.xml
    │ ├─.settings
    │ ├─src
    │ │ ├─main
    │ │ │ ├─java
    │ │ │ └─resources
    │ │ └─test
    │ │ ├─java
    │ │ └─resources
    │ └─target
    │ ├─classes
    │ └─test-classes

    ├─xxxx-web

    │ ├─pom.xml
    │ ├─.settings
    │ ├─src
    │ │ ├─main
    │ │ │ ├─java
    │ │ │ └─resources
    │ │ └─test
    │ │ ├─java
    │ │ └─resources
    │ └─target
    │ ├─classes
    │ └─test-classes

    |--pox.xml

  • 相关阅读:
    [转]进程的用户栈和内核栈
    什么是URL,URL格式
    设计灵感
    Spring源码学习相关记录
    HTML图片标签路径解析
    一次Spring Bean初始化顺序问题排查记录
    是要面向对象,还是简单粗暴?
    2018/07/26学习节点记录
    数据结构-堆 Java实现
    2018 ICPC 徐州邀请赛 总结
  • 原文地址:https://www.cnblogs.com/huapox/p/3172506.html
Copyright © 2011-2022 走看看