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

2022-01-14 00:00:00 unit-testing mockito java maven

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

I am currently working on a project which will run on an embedded device. The device runs a Java ME JRE (comparable to Java 1.4).

因为这个 maven 被配置为编译为 source &目标等级 1.4.

Because of this maven is configured to compile for source & target level 1.4.

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

Is it possible to run the maven test phase on a different source/target level? Because this way I could use Mockito for unit-testing.

推荐答案

编译和testCompile maven 编译器插件 的目标.您可以通过在 pom 中定义属性来更改设置:

The source and target versions can be set separately for the compile and testCompile goals of the maven compiler plugin. You can change the settings either by defining properties in your 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>

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

Or by explicit configuration of the compiler plugin:

<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>

相关文章