【问题标题】:Skipping test during maven compile在 Maven 编译期间跳过测试
【发布时间】:2018-03-29 09:23:36
【问题描述】:

我试图阻止 maven 编译测试。我已经尝试过使用 -DskipTests-Dmaven.test.skip=true 。但两者都没有阻止 maven 编译测试。

 mvn clean install -Dmaven.test.skip=true -DskipTests -T1C

我在测试中遇到错误。

错误信息

在项目 pnd-lib 上执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.6.0:testCompile (default-testCompile) 失败:编译失败

【问题讨论】:

  • 也许你可以尝试-fn--fail-never 永远不要让构建失败,不管项目结果(测试),或者-fae,如果你只使用一个模块,它会执行构建但不会因失败而停止
  • 在这种情况下,无论如何我都会收到测试错误。但好消息是它显示了模块中的所有错误:-)。所以基本上不会跳过测试的编译。
  • 我正在寻找一个选项,我只能在主要代码错误而不是测试错误上失败。
  • 您能否提供有关您的测试框架的更多信息,如果您使用的是 surfire 版本可能吗?因为-DskipTests 应该完成这项工作
  • 添加编译错误

标签: java maven testing compiler-errors


【解决方案1】:

我认为您应该在构建配置中添加 jupiter 引擎依赖项来运行 JUnit5 测试,如下所示:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>

            <dependencies>
                <!-- to let surefire to run JUnit 4 but also JUnit 5 tests -->
                <dependency>
                    <groupId>org.junit.platform</groupId>
                    <artifactId>junit-platform-surefire-provider</artifactId>
                    <version>1.0.1</version>
                </dependency>
                <!-- JUnit 5 engine to run JUnit 5 tests -->
                <dependency>
                    <groupId>org.junit.jupiter</groupId>
                    <artifactId>junit-jupiter-engine</artifactId>
                    <version>5.0.1</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

还要确保您使用的是 Jdk8 来运行构建

然后-DskipTests 应该适合你

【讨论】:

    【解决方案2】:

    我有同样的情况,但是升级到最新的 maven 编译器插件版本 (3.8.1) 解决了这个问题。我认为这是插件 v3.6.0 中的一个错误。

    【讨论】:

      【解决方案3】:

      尝试使用-DskipTests=true

      适合我

      【讨论】:

      • 不幸的是,这对我的不起作用..您在项目中设置了任何构建参数吗?
      猜你喜欢
      • 2011-08-12
      • 2012-01-05
      • 2012-11-29
      • 2014-09-03
      • 2021-04-30
      • 2014-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多