I'm interested if someone has clue how to handle this pom in projects properties of IDEA:
<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>
Should I set project level 1.3 and module level 1.5 or wise verse around?
As well anytime when IDEA reloads maven project it sets language levels as it thinks from maven to 1.3 and after always complaints about test classes.
But this will go as bug report to JetBrains.
Supporting test source/target levels is tracked by this request. Language level changed message is also a known issue.
As already mentioned different language levels for main and test sources are not yet supported by Idea.
There's a workaround to force Idea to use the language level defined in testSource
when importing Maven project. You can create a separate Maven profile only for Idea with different compiler plugin settings:
<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>