Haben mehrere Hauptklassen im Glas mit folgendem Code in pom.xml hinzugefügt alsAusführen eine JAR-Datei mit mehreren Hauptklassen, die Befehlszeile
<groupId>com.test</groupId>
<artifactId>indexer</artifactId>
<version>1.0.0-SNAPSHOT</version>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<phase>package</phase>
<id>build-first</id>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.test1</mainClass>
</transformer>
</transformers>
<finalName>first-runnable</finalName>
</configuration>
</execution>
<execution>
<phase>package</phase>
<id>build-second</id>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.test2</mainClass>
</transformer>
</transformers>
<finalName>second-runnable</finalName>
</configuration>
</execution>
</executions>
</plugin>
aber nicht in der Lage folgt die JAR-Datei erfolgreich von der Kommandozeile ausgeführt werden. Versucht mit der Befehlszeile als
java -jar Indexer-1.0.0-SNAPSHOT.jar com.test1 aber erhalten kein Haupt-Manifest Attribut, in Indexer-1.0.0-SNAPSHOT.jar
Could jemand bitte führen Sie, wie Sie die Hauptklassen von Kommandozeile mit diesem Glas ausführen.
Dank
denken beschrieben erstellt werden I diese http helfen : //stackoverflow.com/questions/3976514/multiple-runable-classes-inside-jar-how-to-run-them – bmavus
Dank bmavus. Ich kann den dort angegebenen java -cp-Befehl nicht als Lösung verwenden, da es im Klassenpfad viele jar-Dateien gibt, die in der Befehlszeile angegeben werden müssen. Bisher konnte nur eine Hauptklassendatei in jar mit java -jar indexer-1.0.0-SNAPSHOT.jar ausgeführt werden. Auf der Suche nach einem Befehl, der ähnlich ist. – Rehan
Ich bin mir nicht sicher und versuchte es nicht vor, aber haben Sie jemals versucht, etwas wie Java-cp myjar.jar .MyClass –
bmavus