问题标签 [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.
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 脚本中访问变量?我找不到有关此的任何文档或示例。到目前为止,我已经尝试了以下方法,但它不起作用。
但我得到错误:
如何正确访问变量?
maven - Maven Home 在 Cloud Foundry 上的位置
我有一个应用程序,它使用插件 maven-invoker 在运行时以编程方式运行 Maven 命令“clean package”。为了能够在 Cloud Foundry 上运行这个应用程序,我们需要在调用程序上设置 Maven Home。
这个问题类似于Maven Invoker: IllegalStateException,除了我们在 Cloud Foundry 上部署但不知道如何获取 Maven Home 的值。
是否可以从 CF 环境中获取它?
maven - 如何动态更新maven pom
我正在使用 wsImport 从 wsdl 文件创建 java atrifacts。我有很多 wsdl 文件,到目前为止,我在 pom 中为 wsdl 文件创建了多个 wsimport 插件条目,这些文件变得混乱。
是否可以在运行时动态地将插件添加到 maven?我可以使用 maven embedder 和 maven-invoker 从 java 调用 maven 命令。我也可以使用 MavenXpp3Reader 读取 pom,但完全不确定是否要即时更新 pom。
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
在测试摘要中标记为并且构建没有失败,而只运行隔离测试一切都失败了?
注意:不使用调用程序属性文件。
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_plugin
pom.xml
是因为我正在编写一个多模块项目,而这一切都在一个模块下,而不是从根目录?如果是这样,正确的方法是什么?非常感谢。
更新:
最后我参考了这个页面并改为使用ProcessBuilder
它并且有效。
但我仍然不明白为什么Invoker
对我来说失败了。任何答案将不胜感激。
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 批处理文件:
...
有任何想法吗?
maven - 如何调用特定的执行
我正在尝试用 MavenInvokerPlugin 替换 maven exec,因为 Jenkins 在转发 maven 设置文件时出现问题。
所以在 bash 中它看起来很直:
我对 MavenInvokerPlugin 配置的翻译是
看起来执行 id 完全被忽略了,因为我尝试了随机字符串并且 mvn 成功构建了项目。
所以我想知道这个功能是否受支持以及我做错了什么。
PS我知道从maven中调用maven是反模式,但是当没有其他方法时,这正是这种罕见的情况。
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 程序调用?
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.
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.