2017-06-14 2 views
0

Ich habe zwei Java-Projekte, Tier Projekt und Tier-Test Projekt. In Tier Projekt habe ich eine Anmerkung Schnittstelle Tier wie wie untennicht in der Lage zu laufen Abhängigkeit Abhängigkeit Hauptfunktion

gezeigt Animal.java

package com.animal; 

import java.lang.annotation.ElementType; 
import java.lang.annotation.Retention; 
import java.lang.annotation.RetentionPolicy; 
import java.lang.annotation.Target; 

@Retention(RetentionPolicy.RUNTIME) 
@Target(ElementType.TYPE) 
public @interface Animal{ 
    String name(); 
} 

Zusammen mit diesem ich eine Schnittstelle habe MakeSound.java genannt, die hat eine Methode namens makeSound().

Jetzt habe ich bauen und erstellt Tier JAR-Datei der Abhängigkeiten einschließlich, dann habe ich animal.jar in meinem zweiten Projekt Tier-Test importiert. Ich erstelle eine Klasse namens AnimalTest.java ich jetzt eine JAR-Datei Tier-test.jar bauen und erstellen und wenn ich laufen die JAR-Datei wie java -jar Tier-test.jar ich die folgende Ausnahme bekam

no main manifest attribute, in animal-test.jar 

Kann mir bitte jemand dabei helfen.

+0

Sieht aus wie die Hauptklasse Attribut nicht in dem 'META-INF/MANIFEST.MF' ist, können Sie, wenn der Eintrag überprüfen' Main-Klasse: com.animal.AnimalFinder' im MANIFEST.MF vorhanden ist Datei im Glas? –

+0

Wie erstellen Sie das Glas? –

+0

@JerinJoseph Ich benutze 'mvn clean install' –

Antwort

2

Sie müssen das Plugin hinzufügen, um die MANIFEST-Datei auch in der pom.xml für Tier-Test zu erstellen.

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.4.1</version> 
      <configuration> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
       <archive> 
        <manifest> 
         <mainClass>com.animal.AnimalFinder</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
      <executions> 
       <execution> 
        <id>make-assembly</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
+0

Lassen Sie mich mit diesem –

+0

Ich habe zwei Gläser 'Tier-1.0.jar' und' Tier-1.0-jar-with-dependencies.jar'. Wenn ich 'java -jar animal-1.0-jar-with-dependencies ausführen.Jar 'Ich habe' Fehler: Konnte nicht finden oder laden Hauptklasse com.animal.AnimalFinder' –

+0

Können Sie bitte helfen Sie mir auf diesem https://stackoverflow.com/questions/44582091/one-jar-with-one-class- Und-Hauptklasse-aus-Abhängigkeiten-Jar –

Verwandte Themen