2013-03-07 10 views
17

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

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> 
Powiązane problemy