[英]Running maven goals from Java without a Maven executable installed on the machine
我正在嘗試建立一個項目以從SCM檢出代碼並使用Maven進行構建。 有沒有一種方法可以在不提供Maven主頁的情況下(不安裝Maven)從Java實現運行Maven目標。 對於SVN,我正在使用svnkit來實現相同目的。 對於Maven,我嘗試使用以下2個選項。
http://maven.apache.org/ref/3.0-beta-3/maven-embedder/ 誰能舉例說明以編程方式使用org.apache.maven.cli.MavenCli嗎?
對於上述兩個選項,我都需要安裝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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.