ame*_*ire 6 java module java-ee pom.xml maven
需要创建一个由注册模块和主项目组成的多模块maven项目.问题是不可能使用在不同模块中声明的类.
例如:我ParentClaz在父母的src/main/java目录和ChildClaz子目录的src/main/java目录中有一个.现在这是不可能既不使用ParentClaz中ChildClaz也不反之亦然.
该项目的结构如下所示:
+-- AdminPortal <- parent root
+-- registration <- child root
-- pom.xml <- child pom
-- pom.xml <- parent pom
Run Code Online (Sandbox Code Playgroud)
我的AdminPortal POM:
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>AdminPortal</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>AdminPortal</name>
<url>http://maven.apache.org</url>
<modules>
<module>registration</module>
</modules>
Run Code Online (Sandbox Code Playgroud)
这是孩子POM:
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.example</groupId>
<artifactId>AdminPortal</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.example.AdminPortal</groupId>
<artifactId>registration</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>registration</name>
<url>http://maven.apache.org</url>
Run Code Online (Sandbox Code Playgroud)
怎样才能解决这个问题?
您的父pom有包装类型pom,但事实并非如此jar.这是特殊的聚合器模块.所有Java代码都应该位于jar模块中.
包装类型的模块pom无法生成罐子,战争或耳朵等工件.
父项目不像我们之前的项目那样创建JAR或WAR; 相反,它只是一个引用其他Maven项目的POM.
要在其他模块中使用来自一个模块的类,请使用maven依赖项.
典型项目如下所示:
* administration project (pom)
* registration (jar)
* portal (war)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15142 次 |
| 最近记录: |