在我的一些 maven 模块(例如 myChild)中,我使用 maven-jar-plugin 创建一些额外的 jar,在此处命名为 my-plugin.jar。这个 my-plugin.jar 应该只是整个模块的一部分 - myChild.jar。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=...>
<modelVersion>4.0.0</modelVersion>
<artifactId>myChild</artifactId>
<parent>
<groupId>org.group</groupId>
<artifactId>myParent</artifactId>
<version>1.0</version>
</parent>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>build-plugins-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<includes>
<include>......</include>
</includes>
<finalName>my-plugin</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
...........
</dependencies>
当我想在另一个 maven 模块(例如 myExternal)中使用 myChild 模块时,我添加了对 myChild 的依赖项。但是 myExternal 的编译由于以下错误而失败:method does not override or implement a method from a supertype
。当我删除两个 @Override 注释时,错误数量减少了两个。似乎使用了 Java 1.4。但是父 POM 具有 maven-compiler-pluginsource
和target
1.7。更令人好奇的是,myChild 模块编译得很好。但是当其他一些使用 myChild 的模块正在编译时,就会出现上述错误。