问题标签 [maven-invoker-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 回答
533 浏览

maven - 如何在 Maven-Invoker-Plugin 中使用 ScriptVariables 和 Groovy 中的 PostBuildHookScript

Maven-Inovker-Plugin用来运行集成测试。我有一个 post-build-hook-script 调用verify.groovy来验证集成测试的结果。在groovy脚本中,我需要访问原始 POM 中的一些属性。我怎么做?

到目前为止,我已将其放在配置块中maven-invoker-plugin

我已经从这里scriptVariables的文档中输入了值。我很确定我做错了,正确的方法是什么?

skip.var1然后我如何skip.var2在我的 groovy 脚本中访问变量?我找不到有关此的任何文档或示例。到目前为止,我已经尝试了以下方法,但它不起作用。

但我得到错误:

如何正确访问变量?

0 投票
1 回答
239 浏览

maven - Maven Home 在 Cloud Foundry 上的位置

我有一个应用程序,它使用插件 maven-invoker 在运行时以编程方式运行 Maven 命令“clean package”。为了能够在 Cloud Foundry 上运行这个应用程序,我们需要在调用程序上设置 Maven Home。

这个问题类似于Maven Invoker: IllegalStateException,除了我们在 Cloud Foundry 上部署但不知道如何获取 Maven Home 的值。

是否可以从 CF 环境中获取它?

0 投票
1 回答
488 浏览

maven - 如何动态更新maven pom

我正在使用 wsImport 从 wsdl 文件创建 java atrifacts。我有很多 wsdl 文件,到目前为止,我在 pom 中为 wsdl 文件创建了多个 wsimport 插件条目,这些文件变得混乱。

是否可以在运行时动态地将插件添加到 maven?我可以使用 maven embedder 和 maven-invoker 从 java 调用 maven 命令。我也可以使用 MavenXpp3Reader 读取 pom,但完全不确定是否要即时更新 pom。

0 投票
2 回答
1038 浏览

maven - Maven Invoker Plugin 未检测到失败的测试

作为根父 pom 项目的一部分,已添加几个集成测试以在示例项目上对其进行测试。

项目文件夹的结构如下:

主要问题是:虽然构建sample-project-test2错误地失败(不应该),但构建是SUCCESSFUL针对 Invoker 插件的,并且整体构建不会失败。

以下是相关maven-invoker-plugin配置:

如您所见,配置了多个执行,因为每个执行都需要自己的属性。每个执行还指向自己的集成测试项目和 pom。

对于特定的执行,构建显然失败了:

但是,在构建的底部,我们看到聚合结果的verify目标,maven-invoker-plugin将相关测试标记为Passed并进行构建SUCCESS

此外,仅从命令行运行失败的测试:

测试项目的子构建失败,输出正确标记为Failed测试摘要中,构建正确以 . 结尾FAILURE

问题:为什么在使用 执行多个集成测试时maven-invoker-plugin,虽然一个测试失败,但Passed在测试摘要中标记为并且构建没有失败,而只运行隔离测试一切都失败了?

注意:不使用调用程序属性文件

0 投票
0 回答
606 浏览

java - 从 Java 运行 Maven Invoker 失败

我正在使用 Maven Invoker 在 Java 代码中运行一些 Maven 命令。以下是我在编写自己的代码之前阅读的参考资料:

maven-invoker-illegal-state-exception ,如何运行 maven-from-java , Maven Invoker 用法

我的代码是这样的:

我得到的ExitCode总是 1,这意味着构建失败。但是,我可以从命令行正确执行所有 Maven 命令。

另外我想通过参考这个答案pom.xml下载使用声明的依赖项。正确包含在.request.setGoals(Arrays.asList("dependency:copy-dependencies", "-DoutputDirectory=OUTPUT_DIR"));maven-dependency_pluginpom.xml

是因为我正在编写一个多模块项目,而这一切都在一个模块下,而不是从根目录?如果是这样,正确的方法是什么?非常感谢。


更新

最后我参考了这个页面并改为使用ProcessBuilder它并且有效。

但我仍然不明白为什么Invoker对我来说失败了。任何答案将不胜感激。

0 投票
2 回答
1614 浏览

java - Maven Invoker 在 Tomcat 服务器上找不到 MAVEN_HOME 环境变量

我已经构建了一个 Java Web 应用程序,它从表单接收一个 url,并使用命令行中的本地 Maven 安装对这些 URL 执行 TestNG 测试。我的测试类位于 src/main/java 中,这不是传统的,但由于我的测试是在构建之后运行的,所以我将它们移到了那里。

当我在 Eclipse 的 Tomcat 中使用我的 servlet 中的 Maven 调用程序时,我的测试运行没有问题,并在我的 Web 应用程序中提供输出结果。我遇到的问题是,当我将应用程序导出为 .war 文件并将其放在 Windows 机器上本地 Tomcat 服务器的 webapps 文件夹中时,找不到本地 Maven 安装。

...

这是我正在使用的 Maven Invoker 代码:

我从命令行运行 Maven 命令没有问题,并且已将我的 Maven 目录正确添加到我的 MAVEN_HOME 环境变量中。

我尝试了此页面上提供的一些答案,但没有任何成功 - Maven Invoker: IllegalStateException

我还尝试在 Tomcat-Home/bin 中运行 Tomcat setevn.bat 批处理文件:

...

有任何想法吗?

0 投票
1 回答
77 浏览

maven - 如何调用特定的执行

我正在尝试用 MavenInvokerPlugin 替换 maven exec,因为 Jenkins 在转发 maven 设置文件时出现问题。

所以在 bash 中它看起来很直:

我对 MavenInvokerPlugin 配置的翻译是

看起来执行 id 完全被忽略了,因为我尝试了随机字符串并且 mvn 成功构建了项目。

所以我想知道这个功能是否受支持以及我做错了什么。

PS我知道从maven中调用maven是反模式,但是当没有其他方法时,这正是这种罕见的情况。

0 投票
1 回答
183 浏览

java - 如何使用 Maven 加密密码——来自 Java?

我想在 Java 程序中使用 Maven 加密密码。基本上,我想实现相当于 call mvn --encrypt-password p4ssw0rd,但不掉到命令行。

我调查了Apache Maven Invoker。我在InvocationRequest_some 命令行选项上找到了设置器,例如InvocationRequest.setShowVersion(..)for --show-version。但是我找不到一个--encrypt-password

有没有办法做到这一点,无论是使用 Apache Maven Invoker 还是其他方式?我不想直接进入或调用命令行,因为我想独立于平台。

如何mvn --encrypt-password p4ssw0rd从 Java 程序调用?


0 投票
0 回答
322 浏览

maven - 如何使用 Maven 调用程序插件运行 groovy 脚本

我有一个时髦的脚本src/it/first/ver.groovy

如果我使用exec-maven-plugin我可以运行它,但如果我使用maven-invoker-plugin我不能。我更喜欢使用调用程序...

使用配置示例exec-maven-plugin

使用配置示例maven-invoker-plugin

输出是

[INFO] --- maven-invoker-plugin:3.1.0:run (integration-test) @ demo --- [INFO] No projects were selected for execution.

0 投票
1 回答
62 浏览

maven - Invoke maven-invoker-plugin in a specific phase

Is it possible to execute goal of maven-invoker-plugin in a specific phase only? I want the goal to execute only when i run 'mvn verify' and not when 'mvn install' is run.