Mam podobny problem z pytaniem this. Wypróbowałem wszystkie wymienione sugestie i wciąż jestem w rozsypce. Mój problem polega na tym, że próbuję zbudować projekt maven i rozprowadzić go na innych komputerach, ale pliki jar nie są wypełnione poprawnym Manifestem. Za każdym razem, gdy buduję i uruchamiam, pojawia się następujący błąd: no main manifest attribute, in myjar.jar
. Czy istnieje jakiś plik konfiguracyjny, który muszę edytować? Po prostu nie wiem, co się dzieje. Próbowałem także this fix również, ale bezskutecznie.Projekt Netbeans Maven Nie dodaje się głównej klasy do manifestu
17
A
Odpowiedz
43
Można dodać go do pliku pom projektu, wewnątrz <project>
tagu:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>your.main.class</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
26
Inną opcją jest użycie maven shade plugin
. W przeciwieństwie do maven jar plugin
pokazanego przez tigran, maven shade plugin
zawiera zależności w wygenerowanym słoiku. Przykładowe użycie wtyczki to:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>your.main.Class</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>