如果有人知道如何在IDEA的项目属性中处理这个pom,我感兴趣:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.3</source>
<target>1.3</target>
<testSource>1.5</testSource>
<testTarget>1.5</testTarget>
</configuration>
<version>3.0</version>
</plugin>
我应该设置项目级别1.3和模块级别1.5还是明智的?
当IDEA重新加载maven项目的任何时候,它都会设置语言级别,因为它从maven到1.3并且总是抱怨测试类。
但这将作为错误报告给JetBrains。
答案 0 :(得分:10)
this request跟踪支持测试源/目标级别。语言级别已更改消息也是known issue。
答案 1 :(得分:3)
如前所述,Idea尚不支持主要和测试源的不同语言级别。
有一种解决方法可以强制Idea在导入Maven项目时使用testSource
中定义的语言级别。您可以仅为Idea使用不同的编译器插件设置创建单独的Maven配置文件:
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<testSource>1.8</testSource>
<testTarget>1.8</testTarget>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>ide</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>idea.maven.embedder.version</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<testSource>1.8</testSource>
<testTarget>1.8</testTarget>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profile>