问题标签 [exec-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2296 浏览

java - 使用 maven 从已部署的工件运行主类

我不明白。我已经将我的 pom.xml 设置为使用 Maven exec 插件,这样我就可以使用正确的类路径、-D 定义和 -javaagent 来执行我的项目中的一些类。因此,从带有内置类的外壳 ./target/classes 等。我可以使用运行 main() 方法

到目前为止一切都很好。

现在我想发布我的项目(一个 jar 工件),并且我仍然希望能够使用我在 pom.xml 中放置的配置来运行具有正确参数等的类。我该怎么做?有没有什么住的方法

当我只有 MyArtifact.jar(或其中包含 MyArtifact.jar 的 Maven 存储库)时?

我尝试了以下方法:

  • 获取具有依赖项的 jar:get 目标并解压缩。我无法用它做任何事情,因为 pom.xml 似乎最终出现在工件 jar 中的 META-INF/maven 中。有什么使用方法吗?

  • 创建一个虚拟 pom,我想在其中运行我的项目,只依赖我的项目工件。然后我可以使用 exec:java 运行主类,但它不使用我的项目 pom.xml 中的配置。

谢谢。

0 投票
1 回答
2941 浏览

maven-2 - 如何跳过 Maven 子模块构建

我有类似的项目

当我在项目上运行 mvn clean install 时,所有顶部和子模块都会构建。但是我希望maven不要执行child1,child2。我怎么能做到这一点。我发现使用配置文件我可以做到这一点。但是怎么做?我可以在 submodule1 pom 中做一些事情,以便 child1, child2 从 maven 阶段中排除吗?

0 投票
3 回答
30336 浏览

java - Maven exec:多模块项目的java目标

我试图在一个简单的两模块项目上运行exec-maven-plugin目标exec:java,其中一个模块依赖于另一个模块。到目前为止,我找不到有效的配置。这是一个简化的测试用例:

这是父pom:

module1的绒球:

module2的 pom:4.0.0

此项目从顶部编译成功,但运行mvn exec:java -Dexec.mainClass=myMain失败:

配置此项目以允许exec:java查看的正确方法是什么MyMain

编辑:如果您想自己尝试一下,这是一个要点:https ://gist.github.com/2950830

编辑:澄清:我知道有可能mvn install然后exec:javamodule2's 目录运行或使用-pl顶部的标志。但是,我想避免运行mvn install. 无需修改我的本地存储库即可在多模块项目中运行此目标。就像mvn compile多模块项目“正常工作”一样,其他目标/阶段也应该如此。

0 投票
1 回答
355 浏览

maven - 如何使用 Maven 执行当前(顶级)目录中的文件?

我有一个可以成功构建的项目mvn clean install。我还可以使用mvn exec:java 命令执行包含在 src/com/mycompany/myproject/ 文件夹中的脚本,方法是将 POM 中的“mainClass”完全限定为:

但我想执行项目顶级文件夹中包含的脚本,即包含 pom.xml 文件的同一文件夹。这个类是一个示例应用程序,它演示了正在构建的项目的功能,它实际上并不是项目本身的一部分,这就是它不包含在 src/com/mycompany/myproject 中的原因。如果我简单地输入 mainClass <mainClass>MyClassInCurrentFolder</mainClass>,则找不到它。

我想我可以创建一个完全独立的 Maven 项目,它只包含 src/com/mycompany/myproject/ 下的这个类,并使用另一个项目作为依赖项。但我宁愿不这样做,毕竟它只是一个非常简单的项目演示应用程序。

关于如何使用 Maven 在顶级文件夹中执行此文件的任何想法?

0 投票
1 回答
2330 浏览

maven - 如何将控制台输出附加到maven中的文件?

我正在使用 exec-maven-plugin 执行一些特定的测试。我想将测试的控制台输出附加到文件中,而不隐藏控制台。
maven 中是否为该任务提供了任何支持?

  1. 在测试开始之前,我使用 maven-antrun-plugin 执行记录器任务。那没有用。

  2. 我使用 'tee' 命令使用 exec-maven-plugin 执行。这似乎也不起作用。

  3. 我检查了使用带有 maven 的 log4j。但由于我是 log4j 日志记录的新手,我无法用它调试问题。

还有其他方法吗?

0 投票
1 回答
5263 浏览

java - 你可以为 maven exec 插件定义一个 exec 和 java 目标吗?

我正在尝试使用 maven exec 插件执行几项任务。一种是运行脚本来生成应用程序将使用的一些外部数据。第二种是在编译阶段运行一段java代码来做一些方便的工作。

但是当我运行时:

我得到错误:

或类似的错误表明参数“mainClass”丢失或无效。

0 投票
1 回答
579 浏览

maven - 确保在编译阶段下载了 exec-maven-plugin

我们有一个 maven 项目,我们在其中使用几个 linux bash 脚本来输入我们的 java 应用程序的各种条目。我们已经通过 exec-maven-plugin 解决了这个问题,所以脚本通常看起来像:mvn -e -o -q exec:exec -Dexec.executable="java" -Dexec.args="..."。出于某种原因,我们被限制使用脱机标志 (-o)。

我的问题是:如何确保在编译阶段下载了 exec-maven-plugin?存在开发人员没有下载 exec-maven-plugin 的风险,并且由于 exec-maven-plugin 与 maven 脱机标志一起使用,如果它不存在,它将不会被下载。

0 投票
5 回答
43452 浏览

maven - 即使脚本使用“开始”,使用 Maven exec 插件启动 Windows 批处理脚本也会阻止构建

我正在尝试在自定义容器的顶部执行我的应用程序部署的集成测试。由于我的容器是自定义的,我不能使用 Maven Cargo 插件来设置容器。

我的容器:

  • 必须通过适当的 bat 文件启动,该文件位于运行测试的机器的路径中。
  • 可以手动关闭,因为我有一个包含所有集成测试的 maven 模块,即使有一天我想知道在测试完成后如何关闭进程。

我的问题是我必须在不同的进程中运行我的容器,因为它需要在执行测试时继续运行。此外,我的测试中有一个 API,可以让我等待容器准备好(一种超时查找)。

我已将以下几行添加到我的 pom.xml

这将调用一个脚本,其中仅包含

开始调用 gs-agent.bat

但是 mvn exec 插件被卡住了,我的测试没有运行。根据如何从我的 Java 应用程序运行批处理文件中的建议?,我修改了我的 pom.xml 如下:

但这似乎并不能解决问题:

马文停了下来

0 投票
0 回答
301 浏览

cxf - apache-cxf 客户端与 exec-maven-plugin 一起使用,但不能从外部使用

我在尝试在 java 中创建 WS 客户端时遇到问题。

我使用的库是apache-cxf 2.12。这是一个旧版本,但我希望将 Web 服务添加到已经运行并使用 Spring 2.5.6 的 JBoss 应用程序中,所以这个org.apache.cxf版本使用相同的 spring 版本。

但问题是(我知道很通用,与 maven、netbeans 和 apache-cxf 有关)

当我从 netbeans 执行我的客户项目(maven proyect)时,它工作得有点好。当我尝试使用脚本(bot windows an linux)运行此类时,它给了我这个错误:

“调用失败,出现以下情况:org.apache.cxf.ws.policy.PolicyException:无法满足任何策略替代方案。”

Java版本是一样的,我把所有的依赖jar复制到lib dir然后添加到%classpath%

那么,当我使用 maven org.codehaus.mojo:exec-maven-plugin:1.2.1:exec执行我的示例程序时,它可以工作,而当我使用 srcipt 运行它时它不会有什么不同?(我已经检查了所有依赖项,java 版本,...)

我猜它必须与 JAX-WS o JCE (Java Cryptography Architecture) 初始化有关。

¿ 有没有办法在运行 java.exe 时查看 %classpath maven 正在创建什么?

有效的 Maven 脚本:

谢谢

0 投票
1 回答
717 浏览

eclipse - 压缩打包前的Maven maven-exec-plugin执行

我正在构建一个 Maven+Tycho Eclipse RCP 应用程序,我想在将产品压缩为 zip 之前以及在二进制文件被压缩以在存储库/二进制文件中分发之前在 OS X 上运行我的 codesign maven-exec-plugin。

所以我认为这一步应该在编译和打包之间,但我很难通过反复试验。它应该绑定到哪个生命周期构建阶段?

我的 maven-exec-plugin 目前看起来像这样(应用程序得到了代码签名,但在 zip 已经创建之后):