gpt4 book ai didi

java - 如何使从 Java 逻辑内部的 Maven 构建失败?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:30 24 4
gpt4 key购买 nike

我正在开发一个项目,我想在其中使用 Maven 来执行 Java 主类作为构建过程的一部分。 Main 类的工作是验证某些给定的(当前硬编码的)文件是否是有效的 RAML 文件。在一个完美的世界中,我希望构建能够从此类的逻辑中失败构建,如果它们无效,并且像 maven 一样使用“[BUILD FAILURE]”消息将该失败报告回终端原生。

我将 org.codehaus.mojo.exec-maven-plugin 插件添加到我的 POM,这允许我执行我之前提到的 Java Main 类。 POM 的该部分如下所示:

<plugin>  
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>com.example.ubunfu.MainClass</mainClass>
<arguments>
<argument></argument>
</arguments>
<cleanupDaemonThreads>false</cleanupDaemonThreads> <!-- Prevents thread hanging -->
</configuration>
</execution>
</executions>
</plugin>

但是,我不确定如何从 MainClass 内部的逻辑发出构建应该失败的信号——如果有必要的话。我在 Maven - Guide to Developing Java Plugins 中读到了 org.apache.maven.plugins.MojoFailureException .那里似乎说我可以抛出其中之一,它会像我希望的那样使构建失败。

我不确定我需要做什么才能在 MainClass 中使用 MojoFailureException 类。我一直无法找到 JAR 或任何东西,但如果我了解 Maven 的工作原理,这应该通过添加某种 POM 而不是 JAR 来解决。

如果您对此有任何见解,我将不胜感激。

-瑞安

最佳答案

似乎抛出任何异常都会导致构建失败。参见 this answer .

要访问 MojoFailureException,请添加以下依赖项:

<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.3.3</version>
</dependency>

关于java - 如何使从 Java 逻辑内部的 Maven 构建失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31544783/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com