多模块配置
例子详细请参考 链接
多模块演示项目结构如下:
bash
.
├── module1
│ ├── pom.xml
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── future
│ │ │ └── demo
│ │ │ └── module1
│ │ │ └── Module1Util.java
│ │ └── resources
│ └── test
│ ├── java
│ └── resources
├── module2
│ ├── pom.xml
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── future
│ │ │ └── demo
│ │ │ └── module2
│ │ │ └── Module2Util.java
│ │ └── resources
│ └── test
│ ├── java
│ └── resources
└── parent
└── pom.xmlparent目录是多模块项目的父项目,module1和module2分别是子模块。IntelliJ IDEA可以通过导入parent模块来达到整个项目一次导入的目的。
parent/pom.xml内容如下:
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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.future.demo</groupId>
<artifactId>demo-parent</artifactId>
<!-- 定义父模块类型为pom -->
<packaging>pom</packaging>
<version>1.0.0</version>
<properties>
<!-- 指定maven-compiler-plugin插件使用的jdk版本 -->
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<modules>
<!-- 使用相对路径指向子模块 -->
<module>../module1</module>
<module>../module2</module>
</modules>
</project>module1/pom.xml内容如下:
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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.future.demo</groupId>
<artifactId>demo-parent</artifactId>
<version>1.0.0</version>
<!-- 指定parent项目的相对路径,否则编译时报错 -->
<relativePath>../parent</relativePath>
</parent>
<artifactId>module1</artifactId>
<!-- 指定构件被构建的类型为jar -->
<packaging>jar</packaging>
</project>module2/pom.xml内容如下:
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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.future.demo</groupId>
<artifactId>demo-parent</artifactId>
<version>1.0.0</version>
<!-- 指定parent项目的相对路径,否则编译时报错 -->
<relativePath>../parent</relativePath>
</parent>
<artifactId>module2</artifactId>
<!-- 指定构件被构建的类型为jar -->
<packaging>jar</packaging>
</project>通过以上的pom.xml配置即可以建立基于maven的多模块应用。
进入parent目录,编译整个项目
bash
mvn package