gpt4 book ai didi

maven-2 - 如何使用 Maven 执行程序?

转载 作者:行者123 更新时间:2023-12-03 04:39:30 28 4
gpt4 key购买 nike

我想让 Maven 目标触发 java 类的执行。我正在尝试使用以下行迁移 Makefile:

neotest:
mvn exec:java -Dexec.mainClass="org.dhappy.test.NeoTraverse"

我希望 mvn neotest 能够生成 make neotest 目前所做的事情。

exec plugin documentation 都不是也不是Maven Ant tasks页面有任何简单的示例。

目前,我位于:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions><execution>
<goals><goal>java</goal></goals>
</execution></executions>
<configuration>
<mainClass>org.dhappy.test.NeoTraverse</mainClass>
</configuration>
</plugin>

不过,我不知道如何从命令行触发该插件。

最佳答案

使用您为 exec-maven-plugin 定义的全局配置:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<mainClass>org.dhappy.test.NeoTraverse</mainClass>
</configuration>
</plugin>

在命令行上调用mvn exec:java将调用配置为执行类org.dhappy.test.NeoTraverse的插件。

因此,要从命令行触发插件,只需运行:

mvn exec:java

现在,如果您想将 exec:java 目标作为标准构建的一部分执行,您需要将目标绑定(bind)到特定的阶段 default lifecycle 。为此,请在 execution 元素中声明要将目标绑定(bind)到的 phase:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>my-execution</id>
<phase>package</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.dhappy.test.NeoTraverse</mainClass>
</configuration>
</plugin>

在这个例子中,您的类将在package阶段执行。这只是一个示例,请根据您的需要进行调整。也适用于插件版本 1.1。

关于maven-2 - 如何使用 Maven 执行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2472376/

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