2011-01-14 20 views
12

Tengo un requisito de la siguiente manera. Necesito ejecutar el archivo de compilación de ant durante el proceso de compilación de maven. Necesito invocar el archivo build.xml desde mi archivo pom.xml. Lo he hecho usando maven-antrun-plugin. Ahora necesito instalar automáticamente el archivo jar generado por hormiga en mi repositorio local antes de que maven compile el origen de mi proyecto. Intenté usar build-helper-maven-plugin pero no ayudó. O estoy haciendo algo mal, o no estoy haciendo lo correcto. Por favor ayuda.Maven: instalar archivo jar durante el proceso de compilación

actualización

Gracias. Las tareas de la hormiga también funcionaron para mí. Sin embargo, estoy entrando en la siguiente excepción al final del proceso de compilación. Cualquier ayuda es muy apreciada. 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)

Respuesta

0

Si todo lo que necesita su fuente del proyecto es el acceso a los contenidos generados por la acumulación de hormigas, se puede utilizar construir-helper-maven-plugin para attach the source.

Si el contenido de la compilación de ant es necesario como una dependencia, entonces probablemente deba mover el código relacionado con ant a un proyecto separado y compilarlo.

Si se proporcionan más detalles, tal vez alguien pueda brindar una mejor solución.

0

Eche un vistazo a Maven Ant Tasks que es el primo de maven-antrun-plugin. Permite invocar algunas funcionalidades Maven de hormiga, como instalar tu jar en el repositorio. Me funcionó bien con una mitad de construcción híbrida Maven, mitad Ant.

19

He encontrado la misma excepción que la publicada anteriormente cuando invocaba a Maven desde un script Ant utilizando la tarea artifact: mvn. Me las arreglé para deshacerse de él mediante la adición del tenedor = "true" a la invocación de tareas de la siguiente manera:

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

También puede votar por https://jira.codehaus.org/browse/MANTTASKS-201 – fnt

Cuestiones relacionadas