maven构建多模块项目

一般项目都是讲一个完整的项目,按层分成多个项目。如何利用maven构建多模块项目呢?
在这里插入图片描述
步骤:
1.创建demo-parent项目。

mvn archetype:generate -DgroupId=maven.test.mulmodel -DartifactId=demo-parent

在这里插入图片描述
删除生成的src文件,以及修改pom文件。将packaging改为pom类型。因为该项目只用于继承。

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>maven.test.mulmodel</groupId>
  <artifactId>demo-parent</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>demo-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>
  1. 创建 demo-dao模块项目
mvn archetype:generate -DgroupId=maven.test.mulmodel -DartifactId=demo-dao

在这里插入图片描述
进入到demo-dao,修改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>maven.test.mulmodel</groupId>
    <artifactId>demo-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <artifactId>demo-dao</artifactId>
  <name>demo-dao</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>

打开demo-parent的pom.xml。可以看到自动添加了module。如果使用的版本没有生成,则自己在该文件进行添加。
在这里插入图片描述
3.创建 demo-service项目

mvn archetype:generate -DgroupId=maven.test.mulmodel -DartifactId=demo-service

打开demo-service项目下pom文件,去掉多余的groupId、version。以及增加demo-dao项目的依赖。
在这里插入图片描述
打开demo-parent的pom查看module是否增加了demo-service,如果没有则手动添加。
在这里插入图片描述
4.创建demo-web项目,该项目为web项目。并且依赖demo-service项目。

mvn archetype:generate -DgroupId=maven.test.mulmodel -DartifactId=demo-web -DarchetypeArtifactId=maven-archetype-webapp

打开demo-web项目下的pom文件,将多余的groupId和version删除。然后增加对demo-service的依赖。

打开demo-parent的pom查看是否增加了module。
在这里插入图片描述
5.打包测试,在demo-parent目录下执行该命令。

mvn clean package -Dmaven.test.skip=true

在这里插入图片描述
6.运行web项目测试。

  • 如果webapp目录下没有index.jsp则手动创建一个文件。
    在这里插入图片描述

  • 添加jetty服务器。在demo-web下增加运行组件jetty.

<?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>maven.test.mulmodel</groupId>
    <artifactId>demo-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <artifactId>demo-web</artifactId>
  <packaging>war</packaging>
  <name>demo-web Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
	<dependency>
      <groupId>maven.test.mulmodel</groupId>
      <artifactId>demo-service</artifactId>
      <version>${project.version}</version>
    </dependency>
  </dependencies>
  <build>
    <finalName>demo-web</finalName>
     <plugins>
         <!--添加相关Jetty插件-->
         <plugin>
           <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-maven-plugin</artifactId>
             <version>9.4.12.v20180830</version>
        </plugin>
      </plugins>
   </build>
</project>

. 运行
1)先将项目安装到本地

mvn clean install

2)运行项目

mvn jetty:run

运行结果:
在这里插入图片描述
下载地址
https://github.com/laosun11/demo-parent.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值