Ok。答えを見つけたようです。
答えはここにありました:
プログラムで org.apache.maven.cli.MavenCli を使用する良い例を誰か教えてください。
そしてここ:
https://groups.google.com/forum/#!topic/daisy-pipeline-dev/tubf3KXClM4
http://code.google.com/p/phloc-parent-pom/source/browse/trunk/pom.xml?r=47
基本的に、この pom.xml で終わるはずです (すべて依存関係についてです!):
<!-- maven api-->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-embedder</artifactId>
<version>3.0.5</version>
</dependency>
<dependency> <!-- https://stackoverflow.com/questions/4206679/can-anyone-give-a-good-example-of-using-org-apache-maven-cli-mavencli-programatt -->
<groupId>org.sonatype.aether</groupId>
<artifactId>aether-connector-wagon</artifactId>
<version>1.13.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http</artifactId> <!-- https://groups.google.com/forum/#!topic/daisy-pipeline-dev/tubf3KXClM4 -->
<version>2.1</version> <!-- http://code.google.com/p/phloc-parent-pom/source/browse/trunk/pom.xml?r=47 -->
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0.10</version>
</dependency>
次に、次のようなエラーが発生した場合:
Non-resolvable parent POM: Failure to find com.mycompany.common:commons:pom:2.0.6
次に、親プロジェクトに正しいバージョンを使用していることを確認してください。親には、実際のローカル ルート pom.xml と同じバージョンが必要です。
それでもエラーが発生する場合、親へのパスは次のようになります。
<relativePath>../pom.xml</relativePath>
これは実際にはデフォルト値です。しかし、あなたの場合はそうかもしれません
<relativePath>../../pom.xml</relativePath>
あなたがより深いフォルダ構造を持っている場合(私が持っていたように)
私のクライアントコードは次のとおりです。
System.setProperty("user.home", "C:\\my"); // ~/.m2/repository lives here
MavenCli cli = new MavenCli();
// THIS IS IMPORTANT AS WELL !!!
int result = cli.doMain(
new String[]{"-DincludeScope=runtime", "dependency:copy-dependencies", "clean", "validate"},
projectPath,
System.out,
System.out);
次のフォルダを作成しc:/.m2/repository
ます。でも今のところ空いてます。