Estoy empezando a usar Maven, (realmente lo evalúo) y necesito poder generar rápidamente un archivo JAR para mi aplicación y un directorio con todas las dependencias (por ejemplo, lib) para poder implementar esos dos se ejecutarán de manera independiente. Generar el archivo JAR con el manifiesto adecuado es fácil, pero no sé cómo hacer que Maven copie las dependencias para el proyecto actual en un directorio lib
que pueda implementar.¿Puede Maven recolectar todos los archivos JAR dependientes de un proyecto para ayudar con el despliegue de la aplicación?
Dado que se trata de una aplicación Java autónoma, soy no interesado en implementar en un repositorio Maven, que también es bastante trivial, o al menos fácilmente googleable.
He descubierto cómo hacer todo excepto copie los archivos JAR dependientes en algún directorio especificado. Este es el flujo de trabajo Busco:
$ mvn clean
$ mvn package
$ cp -r target/{lib,myApp.jar} installLocation
Luego, corriendo myApp.jar
de installLocation
como un archivo JAR debe "sólo trabajo" a pesar de mi $CLASSPATH
.
Para tratar de adelantarse algunas respuestas:
- tengo una clase principal: conjunto, y funciona bien.
- También configuré classpath en MANIFEST.MF, y eso funciona bien también.
- He descubierto cómo usar
<classpathPrefix>
y<classpathMavenRepositoryLayout>
para que esto funcione, pero solo en mi máquina. (vía:<classpathPrefix>${settings.localRepository}</classpathPrefix>
)
añadido esto a mi pom.xml dentro de Eclipse. No pasa nada –
Tuve que descargar maven fuera del eclipse, agregué la carpeta/bin a mi ruta y luego ejecuté 'mvn dependency: copy-dependencies'. ¡SÍ! ¡Ahora funciona, Maven hace lo que se supone que debe hacer! Ahora solo es para copiar todo * .jar en mi proyecto y agregarlo a mi ruta de compilación –