maven分层项目

转载 2016年06月06日 10:06:29

上一篇记录了maven项目的创建,由于现在项目都是分层搭建,这次记录一篇maven分层项目的创建。参考的http://www.cnblogs.com/xdp-gacl/p/4242221.html。感谢这位大神的分享。

项目结构:system-parent, system-domain, system-dao, system-service, system-web. web依赖service, service 依赖dao, dao依赖domain。parent把这几个模块总括起来。

1.创建system-parent:

mvn archetype:generate -DgroupId=moin -DartifactId=system-parent -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

注:原文archetype:create,在新版本的maven中会报错,generate没有问题。

执行后会生成一个src目录和pom.xml文件。parent只保留pom.xml将src删除。

system-parent的pom.xml如下:

<?xml version="1.0" encoding="UTF-8"?>

<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>moin</groupId>

  <artifactId>system-parent</artifactId>

  <packaging>pom</packaging>

  <version>1.0-SNAPSHOT</version>

  <name>system-parent</name>

  <url>http://maven.apache.org</url>

  <properties>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

  </properties>

  <dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>3.8.1</version>

      <scope>test</scope>

    </dependency>

  </dependencies>

</project>


2.创建system-domain:

将目录切换到system-parent下,执行命令:

mvn archetype:generate -DgroupId=moin -DartifactId=system-domain -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

system-domain的pom文件如下:

<?xml version="1.0"?>

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <modelVersion>4.0.0</modelVersion>

  <parent>

    <groupId>moin</groupId>

    <artifactId>system-domain</artifactId>

     <version>1.0-SNAPSHOT</version>

  </parent>

  <artifactId>system-domain</artifactId>

  <packaging>jar</packaging>

  <name>system-domain</name>

  <url>http://maven.apache.org</url>

  <properties>

      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

  </properties>

</project>


3,创建system-dao:

将目录切换到system-parent下,执行命令:

mvn archetype:generate -DgroupId=moin -DartifactId=system-dao -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

system-dao的pom.xml文件如下:

<?xml version="1.0"?>

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <modelVersion>4.0.0</modelVersion>

  <parent>

    <groupId>moin</groupId>

    <artifactId>system-parent</artifactId>

    <version>1.0-SNAPSHOT</version>

  </parent>

  <artifactId>system-dao</artifactId>

  <packaging>jar</packaging>

  <name>system-dao</name>

  <url>http://maven.apache.org</url>

  <properties>

      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

  </properties>

  <dependencies>

    <dependency>

      <groupId>moin</groupId>

      <artifactId>system-domain</artifactId>

      <version>${project.version}</version>

    </dependency>

  </dependencies>

</project>


4,创建system-service

方法与system-dao相同,注意pom.xml中依赖于system-dao模块。


5,创建system-web.

切换到system-parent目录下,执行命令:

mvn archetype:generate -DgroupId=moin -DartifactId=system-web -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

system-web的pom.xml如下:

<?xml version="1.0"?>

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <modelVersion>4.0.0</modelVersion>

  <parent>

    <groupId>moin</groupId>

    <artifactId>system-parent</artifactId>

    <version>1.0-SNAPSHOT</version>

  </parent>

  <artifactId>system-web</artifactId>

  <packaging>war</packaging>

  <name>system-web Maven Webapp</name>

  <url>http://maven.apache.org</url>

  <dependencies>

    <dependency>

      <groupId>moin</groupId>

      <artifactId>system-service</artifactId>

      <version>${project.version}</version>

    </dependency>

  </dependencies>

  <build>

    <finalName>system-web</finalName>

    <plugins>

        <!--配置Jetty插件-->

        <plugin>

            <groupId>org.mortbay.jetty</groupId>

            <artifactId>maven-jetty-plugin</artifactId>

            </plugin>

        </plugins>

  </build>

</project>

注意:packaging为war.src的webapp下会默认生成一个index.jsp。


此时system-parent的pom.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<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>moin</groupId>

  <artifactId>system-parent</artifactId>

  <packaging>pom</packaging>

  <version>1.0-SNAPSHOT</version>

  <name>system-parent</name>

  <url>http://maven.apache.org</url>

  <properties>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

  </properties>

  <dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>3.8.1</version>

      <scope>test</scope>

    </dependency>

  </dependencies>

  <modules>

    <module>system-domain</module>

    <module>system-dao</module>

    <module>system-service</module>

    <module>system-web</module>

  </modules>

</project>

parent会将domain,dao,service,web5个模块包含进来。然后将项目引入到eclipse中,就会看见分模块的maven项目。


搭建横向、纵向分层的大型Maven工程项目

实验环境: Eclipse版本:Neon Release (4.6.0) JDK版本:jdk1.7 Maven版本:apache-maven-3.3.9 1.指定工作空间。 打开ec...
  • win7system
  • win7system
  • 2016年12月21日 16:13
  • 1462

java-maven-多模块拆分构建项目

便于后期的维护,我们一般会进行分层开发,基于Maven3开发。 system-parent     |—-pom.xml     |—-system-domain ...
  • youdianjinjin
  • youdianjinjin
  • 2016年07月20日 13:55
  • 2839

Maven实战(八)---模块划分

为了防止传递依赖,我们各个模块之间尽量用直接依赖的方式。本篇文章介绍多模块化开发,我们做过Maven项目的都知道,我们的项目一般都是分模块的,每个模块都会对应着一个POM.xml文件,它们之间通过继承...
  • liutengteng130
  • liutengteng130
  • 2015年07月22日 11:03
  • 6257

maven分层次项目模板构建步骤

  • 2016年01月06日 14:52
  • 218KB
  • 下载

使用Maven构建多模块层级项目

原文地址:http://www.cnblogs.com/h--d/p/6001366.html Maven多模块项目   Maven多模块项目,适用于一些比较大的项目,通过合理的模...
  • luoxiang183
  • luoxiang183
  • 2017年07月27日 18:14
  • 837

eclipse中手动创建像maven项目那样的分层目录

eclipse中手动创建像maven项目那样的分层目录
  • qq_33317568
  • qq_33317568
  • 2017年05月06日 00:35
  • 377

使用Maven构建多模块项目

在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为domain(域模型层)、dao(数据库访问层)、service(业务逻辑层)、web(表现层),这样分层之...
  • gebitan505
  • gebitan505
  • 2015年06月29日 14:22
  • 2470

手把手创建自定义的分层的maven-archetype

从网络找了很多自定义archetype的文章,都不是自己想要的,因为想创立一个分层的archetype,于是通过分析以及得到的零散的知识,终于完成了,下面每个步骤都会呈现出来。 1、首先创建好一个现...
  • cr266
  • cr266
  • 2015年07月31日 11:26
  • 1016

搭建横向、纵向分层的大型Maven工程项目

实验环境: Eclipse版本:Neon Release (4.6.0) JDK版本:jdk1.7 Maven版本:apache-maven-3.3.9 1.指定工作空间。 打开ec...
  • win7system
  • win7system
  • 2016年12月21日 16:13
  • 1462

java-maven-多模块拆分构建项目

便于后期的维护,我们一般会进行分层开发,基于Maven3开发。 system-parent     |—-pom.xml     |—-system-domain ...
  • youdianjinjin
  • youdianjinjin
  • 2016年07月20日 13:55
  • 2839
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:maven分层项目
举报原因:
原因补充:

(最多只允许输入30个字)