我在IDEA中导入了一个Maven项目。其中有一个子模块,常规和测试源使用不同版本的Java - 常规源使用Java 1.4,测试源使用Java 7,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.4</source>
<target>1.4</target>
<testSource>1.7</testSource>
<testTarget>1.7</testTarget>
<useIncrementalCompilation>false</useIncrementalCompilation>
</configuration>
</plugin>
当使用maven编译项目时,它可以成功编译,但是在IDEA中无法编译。当我打开“项目结构”-> “模块设置”时,我发现该模块的语言级别为1.4。因此,测试类的编译失败,因为它们使用1.4中没有的功能。
为了解决这个问题,我手动更改了pom.xml文件中的Java版本。是否有一种方法可以在不修改maven配置的情况下完成这项操作?
编辑:根据评论中的建议,我在IDEA中手动更改了项目结构的设置,但是在编译项目时出现了以下错误。
Information:3/20/2015 5:29 PM - Compilation completed with 1 error and 0 warnings in 5 sec
Error:java: javacTask: source release 1.7 requires target release 1.7