运行 来自 Java 的 Maven 目标,机器上没有安装 Maven 可执行文件
Running maven goals from Java without a Maven executable installed on the machine
我正在尝试构建一个项目以从 SCM 检出代码并使用 Maven 构建它。有没有一种方法我们可以从 java 实现 运行 maven 目标而无需提供 maven home(没有安装 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>
我正在尝试构建一个项目以从 SCM 检出代码并使用 Maven 构建它。有没有一种方法我们可以从 java 实现 运行 maven 目标而无需提供 maven home(没有安装 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>