Comment faire pour exécuter maven jar généré sur CLI
Je vais essayer d'obtenir un maven gestion du projet à exécuter en ligne de commande.
J'ai un ensemble de dépendances dans le pom.xml qui sont par la suite téléchargé et installé, dans le ~/.m2/repository/. J'ai inclus le nécessaire config dans mon pompon pour ajouter le classpath pour le pot manifeste.
Maintenant, le problème est que j'essaie d'exécuter le pot donc: java-jar project-SNAPSHOT.jar.
Java ne peut pas trouver le fichier téléchargé dépendances (je suppose parce qu'ils sont indiqués sans les chemins d'accès dans le manifeste?) mais je ne suis pas sûr de la meilleure façon d'obtenir cette running.
OriginalL'auteur Nick | 2012-10-05
Vous devez vous connecter pour publier un commentaire.
Options 1:
Le pot créé n'a pas la charge des fichiers jar. Donc, vous devez dire à java le chemin de classe où tous les dépendants pots sont
Option 2:
Le plus simple et bien meilleure solution est d'utiliser
AppAssembler
plugin. Ce qu'il fait, il les packages de votre pot dans une structure de répertoire qui contientjetez un oeil ici http://www.mojohaus.org/appassembler/appassembler-maven-plugin/
Option 3:
Si vous ne souhaitez pas que tous les bagages et je voulais juste avoir un
jar-with-dependency
Vous pouvez consulter ici Comment puis-je créer un fichier exécutable JAR avec des dépendances à l'aide de Maven?
Cela va contenir tous les dépendants des pots à l'intérieur.
Edit 1: Pour l'Option 1, Brad M mentionné que vous pouvez obtenir une liste de tous vos projets de deps à l'aide de la la dépendance plugin.
dependency:build-classpath
Génial c'est exactement ce dont j'avais besoin. Existe-il des mises en garde à l'emballage, tout comme cela ou est-ce tout est ok. L'utilisation de la mémoire, etc?
Rien du tout. Elle est très simple animaux, de même que 1. faire pot, 2. la copie de personnes à charge dans une pension de dossier, 3. écrire un script shell qui ressemble à quelque chose comme ceci
java -jar ../myapp.jar Mainclass -cp ../repo/*.jar
re Option 1, obtenez une liste de tous vos projets de deps à l'aide de la dépendance plugin.
dependency:build-classpath
merci, mise à jour de la réponse.
OriginalL'auteur Nishant
Vous pouvez trouver plus d'exemples ici: 3 façons d'exécuter Java principal de Maven.
[ERROR] Unknown lifecycle phase ".mainClass=my.Main"
OriginalL'auteur messivanio