2011-01-14 6 views
12

다음과 같은 요구 사항이 있습니다. maven 빌드 프로세스 중에 ant 빌드 파일을 실행해야합니다. 내 pom.xml 파일에서 build.xml을 호출해야합니다. 나는 maven-antrun-plugin을 사용했다. 이제 maven이 내 프로젝트 소스를 컴파일하기 전에 자동으로 생성 된 jar 파일을 로컬 저장소에 자동으로 설치해야합니다. 나는 build-helper-maven-plugin을 사용해 보았지만 도움이되지 않았다. 나는 틀린 일을하고 있거나 올바르게하지 않고있다. 도와주세요.Maven : 빌드 프로세스 중에 jar 파일을 설치하십시오.

업데이트 감사합니다. 개미 작업도 저에게 효과적이었습니다. 그러나 빌드 프로세스가 끝나면 다음 예외가 발생합니다. 어떤 도움을 주셔서 감사합니다. 프로젝트 소스가 필요로하는 모든 개미 빌드에 의해 생성 된 내용에 대한 액세스 인 경우 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

, 당신은 빌드 도우미 - 받는다는 - 플러그인을 attach the source로 사용할 수 있습니다.

ant 빌드의 내용이 종속성으로 필요한 경우에는 ant 관련 코드를 별도의 프로젝트로 이동하여 빌드해야합니다.

자세한 내용이 제공되면 누군가가 더 나은 해결책을 제공 할 수 있습니다.

0

maven-antrun-plugin의 사촌 인 Maven Ant Tasks을 살펴보십시오. 항아리를 저장소에 설치하는 것과 같이 개미에서 Maven 기능을 호출 할 수 있습니다. 하이브리드 빌드 Maven, half Ant로 나에게 잘 맞았습니다.

19

artifact : mvn 작업을 사용하여 Ant 스크립트 내에서 Maven을 호출 할 때 위의 게시와 동일한 예외가 발생했습니다.

<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 투표 수 : 다음과 같이 나는 작업 호출에 = "true"로 포크를 추가하여 없애 관리 – fnt

관련 문제