vendredi 14 décembre 2012

Indiquer une classe de lancement par défaut dans un jar

Régulièrement, sur les forums, des personnes se demandent comment, il est possible de définir une classe de lancement par défaut dans un jar.

Pour indiquer à la JVM un classe de lancement par défaut, il faut dans le fichier META-INF/MANIFEST.MF :
Main-Class: org.test.ClassMain
Si vous utiliser Maven, il est posssible directement avec le plugin maven-jar-plugin de le spécifier comme ci-dessous :
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.maventest</groupId>
 <artifactId>aproject</artifactId>
 <packaging>jar</packaging>
 <version>1.0-SNAPSHOT</version>
 <name>aproject</name>
 <url>http://maven.apache.org</url>
 <build>
  <plugins>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
     <archive>
      <manifest>
       <mainClass>org.test.ClassMain</mainClass>
      </manifest>
     </archive>
    </configuration>
   </plugin>
  </plugins>
 </build>
</project>

Aucun commentaire:

Enregistrer un commentaire