Maven ajoutant mainClass dans pom.xml avec le droit chemin d'accès au dossier
Je veux obtenir un fichier jar avec mon projet maven.
La construction de la partie est:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.14</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>6.4.1</version>
</dependency>
</dependencies>
<configuration>
<consoleOutput>true</consoleOutput>
<configLocation>${basedir}/src/test/resources/checkstyle_swt1.xml</configLocation>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptor>src/assembly/src.xml</descriptor>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<addClasspath>true</addClasspath>
<mainClass>org.jis.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Donc mon problème est que je ne sais PAS comment la mettre la mainclass correctement dans mon pom.xml et plus tard dans mon fichier jar.
La Structure de Dossier est: src/main/java/org/jis/Main.java
mais si j'ajoute la ligne suivante
<mainClass>src.main.java.org.jis.Main</mainClass>
il ne fonctionne pas.
Merci d'avance
OriginalL'auteur NhatNienne | 2015-04-28
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, votre principale classe ne comprend pas
src/main/java
. Regardez la déclaration du package en Java fichier. Par exemple,package org.jis;
, puis ajouter la classe principale. En d'autres termes, c'est seulementorg.jis.Main
.Vous avez besoin pour configurer le maven-jar-plugin au lieu de l'maven-compiler-plugin. Le jar-plugin est celui qui est responsable de l'emballage et de la création du manifeste.MF.
De http://maven.apache.org/shared/maven-archiver/examples/classpath.html
pom.xml
j'obtiens une erreur. vue de ma pom.xml image avec le projet de l'instantané.Je pense que vous devriez enlever les 3 points qui sont à un espace réservé.
oui, vous avez raison.
OriginalL'auteur Martin Baumgartner
Vous devez utiliser le nom complet de votre classe principale:
OriginalL'auteur Dagriel
Fondamentalement Maven est un cadre qui ont une collection de maven-plugin pour chaque action réalisée afin de construire un projet.
Chaque Phase de construction est effectuée par maven-plugin en utilisant la description du projet Project Object Model(POM)
Donc maven-compiler le plugin est seulement responsable pour compiler le projet et il ne crée pas le fichier manifest.
maven-jar-plugin est chargé de créer le fichier de manifeste du projet.
OriginalL'auteur tinku
Dans le cas, Vous utilisez le Printemps de Démarrage de l'Application. Ajouter le ci-dessous dans pom.xml
Cela va ajouter de la Principale entrée de la Classe dans le MANIFESTE.MF fichier.
OriginalL'auteur Piyush Verma