Java Maven继承不是';t与插件管理一起工作
我在父pom中配置了这个插件Java Maven继承不是';t与插件管理一起工作,java,maven,inheritance,multi-module,Java,Maven,Inheritance,Multi Module,我在父pom中配置了这个插件 <properties> <java.version>1.7</java.version> <maven-compiler-plugin.version>3.3</maven-compiler-plugin.version> </properties> ... <build> <pluginManagement>
<properties>
<java.version>1.7</java.version>
<maven-compiler-plugin.version>3.3</maven-compiler-plugin.version>
</properties>
...
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArgument>-XDignore.symbol.file</compilerArgument>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
1.7
3.3
...
org.apache.maven.plugins
maven编译器插件
${maven编译器plugin.version}
${java.version}
${java.version}
-XDignore.symbol.file
这在孩子身上
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
maven编译器插件
当我在这两个项目上运行maven update项目时,我希望孩子们将JRE更改为1.7,但事实并非如此,我和我都不明白为什么。如果我把配置放在子系统中,它就会工作。。。你知道我做错了什么吗 我在构建过程中遇到了同样的问题。生成失败,出现以下错误:
[INFO] Compiling 2 source files to /project/target/test-classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /project/src/test/java/com/example/MyClass.java:[18,63] lambda expressions are not supported in -source 1.7
(use -source 8 or higher to enable lambda expressions)
原因是编译的测试文件没有正确的java级别集。以下配置适用于我:
在父项中:
<properties>
<java.version>1.8</java.version>
<maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version>
</properties>
...
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<testSource>${java.version}</testSource>
<testTarget>${java.version}</testTarget>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
1.8
3.5.1
...
maven编译器插件
${maven编译器plugin.version}
${java.version}
${java.version}
${java.version}
${java.version}
在儿童中:
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
</plugins>
</build>
maven编译器插件
您确定元素中正确列出了父元素吗?@UdayShankar是的,我确定。我只是没有把这部分放在不扩展PostToVerify上,当您从子项目运行mvn help:effective pom
时,maven编译器插件的配置显示了什么?mvn help:effective pom-Djava.version=1.7有什么不同吗?@DonBottstein没有,它们之间没有区别outputs@jscherman基于这一点,pom看起来并不是一个问题。。更可能是您的IDE(Eclipse?)。我不知道这是否有帮助,但这里有一个链接,指向针对您看到的问题的故障排除指南: