Ответ 1
Поддержка тестового источника/целевых уровней отслеживается этим запросом. Сообщение об изменении уровня языка также является известной проблемой.
Мне интересно, если кто-то подскажет, как обрабатывать этот pom в свойствах проектов 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>
Должен ли я устанавливать уровень проекта 1.3 и уровень модуля 1.5 или мудрый стих вокруг?
Также в любое время, когда IDEA перезагружает проект maven, он устанавливает уровни языка, поскольку он думает от maven до 1.3 и после всех жалоб на тестовые классы.
Но это пойдет как отчет об ошибке для JetBrains.
Поддержка тестового источника/целевых уровней отслеживается этим запросом. Сообщение об изменении уровня языка также является известной проблемой.
Как уже упоминалось, разные уровни языка для основных и тестовых источников еще не поддерживаются Idea.
Обходной путь, чтобы заставить Idea использовать уровень языка, определенный в testSource
при импорте проекта Maven. Вы можете создать отдельный профиль Maven только для Idea с различными настройками плагина компилятора:
<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>