问题标签 [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 投票
1 回答
179 浏览

java - 如何使用 Maven 调用程序以编程方式设置工件 ID 和其他信息

我正在尝试通过运行 java 应用程序以编程方式创建一个 Maven 项目。在应用程序中,我将 pom 文件设置为:

这是一个带有原型信息的 pom 文件,因为我有自己的项目结构,所以我想使用它。

两个问题:

  1. 我收到一条错误消息,提示“未定义原型。使用 maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)”;即使我提供了原型 pom 文件,为什么会这样?
  2. 我也得到“[WARNING] Property groupId is missing. Add -DgroupId=someValue [WARNING] Property artifactId is missing. Add -DartifactId=someValue [WARNING] Property package is missing. Add -Dpackage=someValue”; 如何向请求提供这些信息。api好像没有。

我尝试查找 api 文档和其他 stackoverflow 问题,但找不到与此相关的任何内容。谢谢!

0 投票
0 回答
41 浏览

java - 在另一个 java 项目中创建一个 maven 项目

作为小项目的一部分,我需要提供一个微服务来创建/生成基于 maven 的 java 项目(类似于Spring Initializr但一个基本的项目)。

由于我的目标是获得一个 Maven 项目,因此我遇到了Maven Invoker,它看起来可以满足我的目的。我的问题是,如果我必须托管在 heroku 或 aws/gce 上,它会起作用吗?我问是因为它们看起来需要在部署它的主机上安装 maven,或者我错了。任何帮助,将不胜感激。

0 投票
0 回答
60 浏览

maven - 使用 jar 中的 pom.xml 从 uber jar 中调用 maven

我正在使用 junit 运行一组测试,并为它创建了一个 maven 项目。我使用 surefire 插件来运行测试。为了方便起见,我想将这个项目打包为一个自我可执行的 jar。所以我将所有测试类放在 src/main/java 目录中,推荐使用 maven shade 插件生成 uber jar。我创建了一个带有 main 方法的类,并使用 maven 调用程序来执行我的测试。当我使用我的 ide 运行 main 方法时,测试会完美执行。但是,在我将其打包为 jar 之后,调用者无法找到 pom.xml。如果我将 pom.xml 的副本放在与 jar 相同的目录中,则会调用 maven 但它无法执行测试,因为 surefire 无法找到测试。

我很想知道是否有解决方案,或者是否有更好的方法来实现我的目标。

@khmarbaise 和其他试图帮助我的人,让我更详细地描述一下我的场景。让我们以任何 api 为例,例如 lastfm api,我将为每个 api 端点编写类,每个类中的每个方法都是一个测试。我使用 junit 来执行测试。我使用一个名为 serenity bdd 的 junit 包装器,它可以帮助我构建测试并生成汇总报告。maven 目标 serenity:aggregate 将生成所有测试的汇总报告。我正在使用 maven 调用程序使用 surefire 插件运行测试,然后使用 serenity 聚合测试。在我的 Eclipse 项目中,我只是创建了一个 Maven 运行配置并提供了 Maven 目标。否则我会使用终端从我的项目基目录运行 maven。除了我的类文件,我还有几个资源,比如作为参数测试输入的 csv 文件 一个日志文件夹,其中保存了所有生成的日志文件和其他用于测试文件上传 api 的示例文件。我觉得将所有这些打包为一个 jar 并让我的开发人员将此 jar 添加为依赖项并运行一个简单的脚本,该脚本在每次创建和部署构建时运行该 jar 会很简单。在 eclipse 或命令行的情况下,获取用于调用 maven 的 pom 文件是微不足道的,但当它在包内部时就不是那么直接了。

0 投票
1 回答
36 浏览

java - 将 -pl 选项添加到 Maven 调用程序请求

我有一个小 Java 程序,它使用Maven Invoker以编程方式运行一些 Maven 命令。Maven 例程基本上是:

mvn clean install在模块上运行。现在我需要运行一个命令添加选项,promtlymvn -pl !skipThis clean install

如何在我的程序中将-pl选项添加到我的request对象?提前感谢您的回答/评论

0 投票
1 回答
1078 浏览

java - 如何解决 Maven Invoker API 警告:Maven 将以交互模式执行,但没有配置输入流

我有一个使用 MavenInvokerAPI 调用 Maven 运行的插件。一切正常,但我的 Maven 控制台输出中确实有此警告。

我在构建过程中不需要交互,并且基于 Javadoc setInputStream(),我将我的设置inputStreamnull,但我再次收到此警告:

我该如何解决这个问题?或者也许隐藏控制台的警告?

0 投票
1 回答
89 浏览

java - InvocationRequest.setInteractive() 在 maven-invoker-3.0.1 中不存在

InvocationRequest.setInteractive() 在较新版本的 maven 调用程序 API 中被删除,并且在 2.1.1 版本之后不可用,有什么替代方法吗?我们现在如何禁用交互模式?

0 投票
0 回答
95 浏览

maven - 通过 maven-invoker-plugin 运行构建后脚本

我试图在构建war文件后运行一个简单的beanshell脚本来打印'Hello World'。我从这个做参考。但是,我不断收到“没有选择执行的项目”。运行 mvn clean install 后。我不确定错误是否来自文件目录,或者我无法在构建 war 文件后仅打印“Hello World”。

0 投票
0 回答
50 浏览

java - 从java运行maven命令

我需要从指向另一个 spring-boot 应用程序的 Spring-boot 应用程序运行 maven 命令。

我正在尝试使用 maven-invoker,但它需要 setMavenHome。我可以下载 maven 作为工件而不是直接访问我的 maven 吗?

0 投票
1 回答
368 浏览

linux - 如何在基于 Alpine Linux 的 docker 容器的 PATH 中添加 Maven Home (M2_HOME)

我需要在我的应用程序中使用 Maven-invoker。我在基于 Alpine 的 docker 容器中运行我的应用程序。因此,我输入 Dockerfile 命令来安装 Maven,并将 Maven 主目录添加到 PATH 环境变量中。

当容器启动时,我可以进去看看,Maven Home 不在 PATH 中。一旦我在容器中手动运行“source /etc/profile.d/maven.sh”,我可以在 PATH 中看到 maven home,但是当我打开一个新终端时它会消失。

我的 maven.sh 包含以下内容: export PATH=/usr/share/java/maven-3/bin:$PATH

我也试过这个:

我的 Dockerfile 包含:

我将非常感谢帮助解决这个问题。

0 投票
2 回答
39 浏览

java - 如何在构建后脚本中访问调用程序集成测试的控制台输出?

我在我的maven-invoker-plugin设置中有一个用 Groovy 编写的构建后脚本。如何在此脚本中访问集成测试的控制台输出?我想检查某些文本是否已打印。