2011-01-14 19 views
12

私は次のような要件を持っています。 mavenビルドプロセス中にantビルドファイルを実行する必要があります。私はpom.xmlファイルからbuild.xmlを呼び出す必要があります。私はこれをmaven-antrun-pluginを使って行っています。今度は、mavenが自分のプロジェクトソースをコンパイルする前に、antビルド生成されたjarファイルをローカルのリポジトリに自動的にインストールする必要があります。私はbuild-helper-maven-pluginを使ってみましたが、助けにはなりませんでした。どちらかが間違っているか、私は正しいことをしていません。助けてください。Maven:ビルドプロセス中にjarファイルをインストールします

更新ありがとうございました。 ant mavenの仕事も私のために働いた。しかし、私はビルドプロセスの最後に次の例外を実行しています。どんな助けも高く評価されます。 org.apache.tools.ant.ExitException: Permission (java.lang.RuntimePermission exitVM) was not granted. at org.apache.tools.ant.types.Permissions$MySM.checkExit(Permissions.java:196) at java.lang.Runtime.exit(Runtime.java:99) at java.lang.System.exit(System.java:275) at org.codehaus.classworlds.Launcher.main(Launcher.java:376) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:599) at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217) at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152) at org.apache.tools.ant.taskdefs.Java.run(Java.java:771) at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221) at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135) at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108) at org.apache.maven.artifact.ant.Mvn.execute(Mvn.java:81) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:599) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:390) at org.apache.tools.ant.Target.performTasks(Target.java:411) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) at org.apache.tools.ant.Project.executeTarget(Project.java:1368) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1251) at org.apache.tools.ant.Main.runBuild(Main.java:809) at org.apache.tools.ant.Main.startAnt(Main.java:217) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

答えて

0

プロジェクトソースが必要とするすべては、Antのビルドによって生成されたコンテンツへのアクセスの場合は、attach the sourceにビルドヘルパーのmaven-プラグインを使用することができます。

antビルドの内容が依存関係として必要な場合は、おそらくant関連のコードを別のプロジェクトに移動してビルドする必要があります。

さらに詳しい情報が提供されていれば、誰かがより良い解決策を提供できる可能性があります。

0

maven-antrun-pluginのいとこであるMaven Ant Tasksを見てください。 jarをリポジトリにインストールするなど、antからいくつかのMaven機能を呼び出すことができます。ハイブリッドビルドMaven、half Antで私はうまくいった。

19

artifact:mvnタスクを使用してAntスクリプト内からMavenを呼び出すときに、私は上記と同じ例外が発生しました。私は次のようにタスクの呼び出しに=「true」にフォークを追加することによって、それを取り除くために管理:

<artifact:mvn pom="path/to/my-pom.xml" mavenHome="/path/to/maven-2.0.x" fork="true"> 
    <arg value="install"/> 
</artifact:mvn> 
+0

またhttps://jira.codehaus.org/browse/MANTTASKS-201に投票することができます – fnt

関連する問題