Maven: компиляция и тестирование на разных уровнях источников

В настоящее время я работаю над проектом, который будет работать на встроенном устройстве. Устройство работает Java ME JRE (сравнимо с Java 1.4).

Из-за этого maven настроен на компиляцию для исходного и целевого уровней 1.4.

Можно ли запустить тестовую фазу maven на другом исходном/целевом уровне? Потому что таким образом я мог использовать Mockito для модульного тестирования.

Ответ 1

Исходные и целевые версии могут быть установлены отдельно для compile и testCompile целей плагина компилятора maven. Вы можете изменить настройки либо путем определения свойств в вашем pom:

<properties>
    <maven.compiler.source>1.4</maven.compiler.source>
    <maven.compiler.target>1.4</maven.compiler.target>
    <maven.compiler.testSource>1.5</maven.compiler.testSource>
    <maven.compiler.testTarget>1.5</maven.compiler.testTarget>
</properties>

Или путем явной настройки плагина компилятора:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <source>1.4</source>
        <target>1.4</target>
        <testSource>1.5</testSource>
        <testTarget>1.5</testTarget>
    </configuration>
</plugin>