gpt4 book ai didi

java - 从 Java 运行 Maven 目标,而无需在计算机上安装 Maven 可执行文件

转载 作者:行者123 更新时间:2023-12-01 11:20:34 29 4
gpt4 key购买 nike

我正在尝试构建一个项目以从 SCM checkout 代码并使用 Maven 构建它。有没有一种方法可以让我们在不提供 Maven Home 的情况下实现从 Java 运行 Maven 目标(无需安装 Maven)。对于 SVN,我使用 svnkit 来实现相同的目的。对于 Maven,我尝试使用以下 2 个选项。

http://maven.apache.org/ref/3.0-beta-3/maven-embedder/ Can anyone give a good example of using org.apache.maven.cli.MavenCli programattically?

对于上述两个选项,我需要安装 Maven。有什么建议吗?

最佳答案

不,只需将 jar 包含在您的项目中以及以下内容即可编译代码:

MavenCli cli = new MavenCli();
int result = cli.doMain(new String[]{"compile"},
"workspace/MiscMaven",
System.out, System.out);
System.out.println("result: " + result);

根据评论,以下是如何将依赖项添加到项目中的方法。这不会在您的系统上安装 maven,仅在您的项目构建中包含 JAR:

<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-embedder</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-connector-basic</artifactId>
<version>1.0.2.v20150114</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-transport-wagon</artifactId>
<version>1.0.2.v20150114</version>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http</artifactId>
<version>2.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-provider-api</artifactId>
<version>2.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http-lightweight</artifactId>
<version>2.9</version>
</dependency>

关于java - 从 Java 运行 Maven 目标,而无需在计算机上安装 Maven 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31279090/

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