答えて
は絶対に、あなたはMaven Embedder APIを使用する必要があります。
更新リンク、それは違ったラインの代替を指令する比較動作するので、私はMAVEN CLI
を使用することをお勧めしませんhttp://maven.apache.org/ref/3-LATEST/maven-embedder/index.html
です。例:CLIで
、私は"mvn dependency:resolve validate"
cli.doMain(
new String[]{
"dependency:resolve", // download deps if needed
"validate"}, // just validates, no need even to compile
projectPath ...
を再現したい。しかし実際には、すべてのフォルダ(再帰的に)の上に行くだろうと私はそれをしたくない場合でも、そこにすべてのプロジェクトを検証しようとします。何かが間違っている場合 - それは失敗する。 、しかし、あなただけのコマンドラインと同じことをしようとした場合
- それだけでpom.xmを起動し、意志ます仕上げに成功「projectPath」内部のいくつかのプロジェクトが解決できない場合でも、(
付き。 !CLI
私はこれが私のためにかなり良いです
特定pom.xml
を指定するフラグ "-f" を使用するように管理することができませんでした:
private int resolveAsCommandLine() {
try {
String command = "mvn " +
"-f " + projectPath + "\\pom.xml " +
"-Dmaven.repo.local=" + localRepoPath + "\\repository " +
"-Dmaven.test.skip=true " + // ignore tests
"dependency:resolve " + // download deps if needed
"validate";
System.out.println("%> Executing command: '" + command + "'...");
Process p = Runtime.getRuntime().exec(// "cmd - for windows only"
"cmd /c " + command
);
BufferedReader in = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = in.readLine()) != null) {
System.out.println(line);
if(line.contains("[ERROR]")) return ERROR_STATUS;
if(line.contains("BUILD FAILURE")) return ERROR_STATUS;
if(line.contains("BUILD SUCCESS")) return OK_STATUS;
}
in.close();
} catch (IOException e) {
e.printStackTrace();
return ERROR_STATUS;
}
return ERROR_STATUS;
}
あなたの答えは古いので、おそらく組み込まれているmavenが改善されています。さて、 '-f'オプションは埋め込まれたmavenを使ってすばらしい動作をします。私は絶対パスを使用しました(相対パスを試したことはありません)。 – djeikyb
は、これは簡単です:)
Javaコード
MavenCli cli = new MavenCli();
cli.doMain(new String[]{"clean", "package"}, "project_dir", System.out, System.out);
プロジェクト構成:
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-embedder</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-connector-wagon</artifactId>
<version>0.9.0.M2</version>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http-lightweight</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
- 1. PGTとPGTIOUの保存CASが生成する
- 2. .NET 4.0:それは><IListのためConvertAllを呼び出すことは可能ですか?
- 3. は、私は私はそれをどのように行うことができます</p> <pre><code>wadl: http://domain.com/application.wadl method: checkInfo </code></pre> <p>WADLサービスからメソッドを呼び出し、パラメータを渡す必要がPHP
- 4. はこれが動作しない</p> <pre><code>attr_accessor :attr_list def attr_list [:x1, :y1, :x2, :y2] end </code></pre> <p>、私はこのようなメソッド呼び出しで構築あれば容易に行うことができる多数の属性を作成したいメソッド呼び出し
- 5. cellForRowAtIndexPathがnumberOfRowsInSectionが、私は</p> <p>ServerDataControllerでこのViewControllerをを呼び出す と呼ばれているにもかかわらず、cellForRowAtIndexPathが呼び出されない理由を理解することはできません
- 6. このクロージャはなぜ機能しますか?私はそうのようにそれを呼び出すとき</p> <pre><code>function callMessage(msg){ alert(msg); } </code></pre> <p>さて、それは動作しません:
- 7. <<<と終了区切り文字で文字列を埋めることができるときは、何を呼び出すのですか?
- 8. MySQLは例えば</p> <p>、私はその場でこれを行うのですか
- 9. Angular2 - 私は/ RESTのAPIの終了から非同期呼び出したら<strong>ロードメッセージ</strong>を隠すために喜んで、それは<strong>ロードメッセージ</strong>を隠し、示しロードメッセージを表示し、非同期呼び出しが
- 10. JNAからdllから受け取ったポインタのjavaからメソッドを呼び出す方法はありますか?私はこのメソッドを呼び出すことができる方法</p> <pre><code>void reset(); void hash (const byte* data, uint64 size, vector_byte& hash). </code></pre> <p>:
- 11. 私は<code>submitHandler</code>関数内からjQueryの検証<code>showErrors</code>機能を呼び出そうとしています
- 12. CプログラムからBPrologゴールを呼び出すには?
- 13. これはPerlコンストラクタ呼び出しと同等の関数呼び出しですか?私はこのようなコンストラクタができ
- 14. 私はこれを行うことができますか? mysqlの値として(2 <a <8,1,0)なら?
- 15. MavenのリリースプラグインSNAPSHOTプロジェクトは、私は建物がこのエラーをスローしながら、内部</strong> 2.3.2 <strong>のmaven-リリース・プラグインを呼び出し、<strong>ジェンキンス</strong>内からM2リリースのプラグインを使用しています
- 16. VBAでjavaから関数を呼び出すことは可能ですか?
- 17. は、私はロックと呼ばれる世代のサーバーのグループを持っている場合は、私はそのgen_serverの個々のプロセスのPIDから</p> <p><code>hello() -> io:format("Hello, world!~n").</code></p> <p>を言う関数を呼び出すことができますそのはPid
- 18. HashSetでDistinct <>()を呼び出す
- 19. ACRAは<strong><code>ACRA.init</code></strong>は一度だけ呼び出すことができますのでformUriにプログラム的に
- 20. 私はプライベートメソッドを呼び出すことができますか?
- 21. ring/compojureからjavaサーブレットを呼び出すことは可能ですか?
- 22. Flexで軽量REST呼び出しを行うことは可能ですか?
- 23. jQueryで別のAJAX呼び出しの中でAJAX呼び出しを行うことはできますか?
- 24. swift:タイプ "(AnyObject)"ですか?そこにあるタイプの引数リスト「(ANYOBJECT)」私も知らない</p> </blockquote> <p>と</p> <blockquote> <p>呼び出すことができません「マップ」:
- 25. tabBarControllerのタブを切り替えると、どのメソッドが呼び出されますか?私はtabBarController</p>私はそれが私が知りたい、viewDidLoadメソッドを呼び出します初めてで知っ <p>でタブを切り替えるときにメソッドが呼び出されます
- 26. PrimeFaces:<p:dataTable>内部<p:inline>私のアプリケーションではAJAX呼び出し
- 27. にjava.io.IOException:</p> <p>にjava.io.IOException:発行者が信頼できるCAリストで見つけることができませんが、MATLABからのJavaの関数を呼び出すときに、私はこの例外を取得してい
- 28. は、私はからいくつかのhttpのparamsでREST呼び出しを実行しようとしている...</p> <p>をresttemplateと
- 29. パッケージを呼び出さずにJavaで作成した変数をどのように呼び出すことができますか? (その同じクラスで)
- 30. PHP - ブロック外部APIは、私は他のサイトおよび/またはユーザーがそのWebサイトからそれを呼び出すことができることを望んでいないので、私は今、私はそれを保護したいPHP</p> <p>で自分のサイトにAPIを作成しました
+1のおかげで、私はそれが必要な場合があります。 – KLE
ありがとう - それはトリックを行う必要があります! – eldoctoro
これはもはや正解ではないかもしれません。 Maven埋め込み者がMaven3から削除されたようです:http://stackoverflow.com/questions/4206679/can-anyone-give-a-good-example-of-using-org-apache-maven-cli-mavencli-programatt – jbandi