(Ver ediciones más adelante.)Maven antRun y sus dependencias
La razón por la que no puedo utilizar la ruta de clases, es porque necesito para gestionar algunas bibliotecas no son Java, y estoy compilando un no proyecto java.
Estoy tratando de utilizar las dependencias de Maven en una llamada antRun, a raíz de la documentación en el sitio experta:
http://maven.apache.org/plugins/maven-antrun-plugin/examples/classpaths.html
En la parte inferior de la página:
<property name="mvn.dependency.jar"
refid="maven.dependency.my.group.id:my.artifact.id:classifier:jar.path"/>
<echo message="My Dependency JAR-Path: ${mvn.dependency.jar}"/>
que pueda No hago que esto funcione, no importa cómo lo intente. He intentado con $ {} alrededor de los contenidos refinados, he intentado dos puntos, puntos, etc. como separadores de todas las formas en que puedo pensar.
¿Alguien puede decirme qué debería decir ese refid realmente para una dependencia común?
EDIT:
Gracias por su respuesta.
Usando su ejemplo SingleShot, Tengo el siguiente:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>create-messages</id>
<phase>compile</phase>
<configuration>
<tasks>
<property name="build.compiler" value="extJavac"/>
<property name="compile_classpath" refid="maven.compile.classpath"/>
<property name="runtime_classpath" refid="maven.runtime.classpath"/>
<property name="test_classpath" refid="maven.test.classpath"/>
<property name="plugin_classpath" refid="maven.plugin.classpath"/>
<property name="log4j.jar" refid="log4j:log4j:jar"/>
<echo message="Where is the Log4J JAR?: ${log4j.jar}"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
</dependencies>
</plugin>
Y aquí es lo que me pasa cuando se ejecuta compilación mvn:
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Chat Component
[INFO] task-segment: [compile]
[INFO] ------------------------------------------------------------------------
Downloading: http://<redacted>/content/groups/public/log4j/log4j/1.2.14/log4j-1.2.14.pom
2K downloaded
Downloading: http://<redacted>/content/groups/public/log4j/log4j/1.2.14/log4j-1.2.14.jar
358K downloaded
[INFO] [antrun:run {execution: create-messages}]
[INFO] Executing tasks
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error executing ant tasks
Embedded error: Reference log4j:log4j:jar not found.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Fri Oct 16 14:54:19 PDT 2009
[INFO] Final Memory: 7M/80M
[INFO] ------------------------------------------------------------------------
EDITAR (2):
Buscando en el código fuente vinculado decidí ejecutar "mvn -X compile" y grep para "Almacenar", lo que da como resultado un montón de salida de registro donde las cosas se están poniendo g almacenado.
De interés son los hechos que la dependencia que especifico explícitamente no se muestra en la lista, y que cuando cambio a una clave basada en una de las entradas I haga vea, sigo teniendo el error.
Lo siento. Mi respuesta original falló la "maven.dependency". prefijo y sufijo ".path". Ahora está arreglado y debería funcionar. Mire la línea 87 de la fuente del complemento (vinculada arriba) para ver cómo debería verse. – SingleShot