Maven:在不同的源级别上编译和测试

Mic*_*ael 13 java unit-testing mockito maven

我目前正在开发一个可以在嵌入式设备上运行的项目.该设备运行Java ME JRE(与Java 1.4相当).

因为这个maven配置为编译源和目标级别1.4.

是否可以在不同的源/目标级别上运行maven测试阶段?因为这样我可以使用Mockito进行单元测试.

Jör*_*ann 22

可以为maven编译器插件compiletestCompile目标单独设置源版本和目标版本.您可以通过在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>
Run Code Online (Sandbox Code Playgroud)

或者通过显式配置编译器插件:

<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>
Run Code Online (Sandbox Code Playgroud)