Управлять различными языковыми и целевыми уровнями для источников и тестов с помощью IntelliJ IDEA

Мне интересно, если кто-то подскажет, как обрабатывать этот 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.

Ответ 2

Как уже упоминалось, разные уровни языка для основных и тестовых источников еще не поддерживаются 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>