2009-12-03 4 views
2

Je vais avoir (un étrange) problème lors de l'exécution d'un pot exécutable généré Maven:Erreur lors de l'exécution maven généré jar exécutable

[email protected]$ java -server -jar MyJar.jar 

Error 

(et rien de plus que cela !!!)

-vous avez-vous une idée de ce que ce roi de l'erreur vient?

Dans mon pom.xml, je copie toutes les dépendances dans un dossier lib avec:

<plugin> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>install</phase> 
        <goals> 
         <goal>copy-dependencies</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${project.build.directory}/${artifactId}-${version}/${artifactId}-${version}/lib</outputDirectory> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

Et puis je produis un .jar dont le classpath (+ un préfixe pointant vers le dossier lib):

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
       <outputDirectory>${project.build.directory}/${artifactId}-${version}/${artifactId}-${version}/bin</outputDirectory> 
       <finalName>MyJar</finalName> 
       <archive> 
        <manifest> 
         <mainClass> 
          com.company.package.Main 
         </mainClass> 
         <addClasspath>true</addClasspath> 
         <classpathPrefix>../lib/</classpathPrefix> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 

Le fichier MANIFEST.MF généré semble contenir le bon chemin de classe.

Merci beaucoup pour votre aide!

+0

Quelle machine virtuelle Java utilisez-vous? Le contenu du fichier Jar (hormis MANIFEST.MF) correspond-il à ce que vous attendiez? – Romain

+0

java version "1.6.0_03" Java (TM) SE Runtime Environment (build 1.6.0_03-b05) Java HotSpot (TM) 64 bits serveur VM (build 1.6.0_03-b05, mode mixte) Yep ... le contenu est exactement ce à quoi je m'attendais – emathias

+0

Merci Romain pour la réponse – emathias

Répondre

1

L'erreur ne dit pas grand-chose et c'est en effet bizarre. Utilisez-vous Sun JDK?

De toute façon, je ne comprends pas vraiment comment les dépendances sont regroupées dans le JAR final avec votre configuration et je ne pense pas qu'elle contienne tout ce dont vous avez besoin (je peux me tromper bien sûr).

En fait, je n'essaierais même pas de réparer votre configuration actuelle. Pour créer un fichier exécutable, vous devez préférer le plugin d'assembly. Voir this recent answer par exemple. Veuillez modifier votre pom.xml avec la configuration suggérée (cela prendra 30 secondes) et réessayer. Ensuite, veuillez mettre à jour votre question avec le nouveau résultat/erreur, le pom.xml et le manifeste.

+0

J'utilise en fait le plugin assembly pour copier les fichiers de configuration et certains scripts de déploiement. Je ne sais même pas s'il est possible de regrouper les dépendances dans le pot. En tout cas je préfère les garder dehors car j'ai pas mal de dépendances – emathias

+0

Ah, et merci pascal pour l'aide – emathias

0

J'ai créé un nouveau référentiel Maven, reconstruit toutes les dépendances de maven et en quelque sorte le problème a été résolu.

Je ne sais pas comment cela est arrivé, parce que j'étais capable de courir sans le pot ...

Mais merci pour votre aide de toute façon

Questions connexes