Je commence juste à utiliser Maven (en l'évaluant, vraiment) et je dois pouvoir générer rapidement une JAR pour mon application et un répertoire contenant toutes les dépendances (par exemple, lib) afin que je puisse déployer ces deux éléments pour qu'ils soient exécutés de manière autonome. La génération du fichier JAR avec le manifeste approprié est facile, mais je ne sais pas comment faire pour que Maven copie les dépendances du projet en cours dans un répertoire de type lib
que je peux déployer.
Puisqu'il s'agit d'une application Java autonome, je suis no Si vous êtes intéressé par le déploiement dans un dépôt Maven, c'est également assez trivial, ou du moins facile à trouver sur Google.
J'ai trouvé comment faire tout excepto copier les fichiers JAR dépendants dans un répertoire spécifié. C'est le flux de travail que je recherche :
$ mvn clean
$ mvn package
$ cp -r target/{lib,myApp.jar} installLocation
Puis, en courant myApp.jar
de installLocation
en tant que fichier JAR devrait "fonctionner" sans tenir compte de mon $CLASSPATH
.
Pour essayer d'anticiper certaines réponses :
- J'ai une classe principale définie, et cela fonctionne bien.
- J'ai également défini le classpath dans le fichier MANIFEST.MF, et cela fonctionne également.
- J'ai découvert comment utiliser
<classpathPrefix>
y<classpathMavenRepositoryLayout>
pour que cela fonctionne -- mais seulement sur ma machine. (via :<classpathPrefix>${settings.localRepository}</classpathPrefix>
)