我当时正在从事一个项目,因此我决定编写一种类型的api,并按照以下架构在其他模块上实现它:
project [core]:
---- src/
---- pom.xml
---- module [parent-1]:
-------- src/
-------- pom.xml
基本上, parent-1 应该着色并实现 core src ,但是当我尝试编译时,maven只会抛出一堆编译错误,说找不到核心来源。
[ERROR] package com.core.manager does not exists
[ERROR] cannot find symbol: class Manager
so on...
<groupId>com.core</groupId>
<artifactId>core</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<modules>
<module>parent-1</module>
</modules>
<dependencies>
<dependency>
<groupId>org.mongodb.morphia</groupId>
<artifactId>morphia</artifactId>
<version>1.3.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
<parent>
<artifactId>core</artifactId>
<groupId>com.core</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>parent-1</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.core</groupId>
<artifactId>core</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
我正在使用 mvn install ,我还尝试了 mvn软件包和 mvn编译(只是因为为什么不这样做)。
感谢您的回答,对不起我的英语不好。
答案 0 :(得分:0)
我从未见过将parent和module pom一起使用。我不知道这是否有效。 Maven模块有两种类型:
我会看到这样的项目:
parent [parent]:// parent of the project
--project [core]: // core artifact
------ src/
------ pom.xml
--module [parent-1]: // artifact that uses core
------src/
------pom.xml
所以您的父pom将具有两个模块:
<modules>
<module>core</module>
<module>parent-1</module>
</modules>