2017-11-11 1 views
2

Ich benutze Maven und wenn es versucht, es in eine JAR-Datei zu verwandeln, sagt es Build-Erfolg, aber es sagt Keine Quellen zu kompilieren.Maven: Versäumte kompilierte Klassen unter 'Ziel' Ordner

[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building UrbanAC Booking Manager 1.2.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ UrbanAC -- - 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,  i.e. build is platform dependent! 
[INFO] Copying 24 resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ UrbanAC --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @  UrbanAC --- 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,  i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory C:\Users\Akhil Maganti\eclipse- workspace\New\src\test\resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @  UrbanAC --- 
[INFO] No sources to compile 
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ UrbanAC --- 
[INFO] No tests to run. 
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ UrbanAC --- 
[INFO] Building jar: C:\Users\Akhil Maganti\eclipse-workspace\New\target\UrbanAC-1.2.1-SNAPSHOT.jar 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 3.413 s 
[INFO] Finished at: 2017-11-11T00:19:22+00:00 
[INFO] Final Memory: 11M/245M 
[INFO] ------------------------------------------------------------------------ 

Dies ist der Fehler, der angezeigt wird und ich weiß nicht, warum dies angezeigt wird. enter image description here

+0

Sie können das normale Eclipse-Layout nicht verwenden, ohne die pom.xml-Datei ernsthaft zu überarbeiten. –

+0

Befolgen Sie die Konvention, die Java-Quelldateien 'src/main/java' bedeutet. 'src/main/resources' Ressourcen wie Property-Dateien etc.' src/test/java' Unit Test Java Quellen. 'src/test/resources' Ressourcen für die Komponententests. – khmarbaise

Antwort

1

No sources to compile bezieht sich auf Komponententests.

Der Produktionscode ist bereits kompiliert. Dort heißt es:

Nothing to compile - all classes are up to date

Wenn Sie wirklich eine JAR-Datei Ihrer Anwendung müssen Sie dies über maven-assembly-plugin tun können:

 <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>your.main.class</mainClass> 
        </manifest> 
       </archive> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>install</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

Jetzt mvn clean install laufen und eine JAR-Datei unter target Ordner.

Und stellen Sie sicher, dass Ihre Projektstruktur diesem standard folgt.

+0

Es heißt diesmal noch "Keine Quellen zum Kompilieren" und sagt nicht "Nichts zu kompilieren - alle Klassen sind auf dem neuesten Stand" – DaBoss

1

Sobald Sie Ihre Quelle und Ressourcen-Dateien in der richtigen Position, können Sie maven-jar-plugin in pom.xml hinzufügen und Befehl ausführen mvn jar:jar

src/main/java  - sources 
src/main/resources - resources 

Referenz: https://maven.apache.org/plugins/maven-jar-plugin/

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <version>3.0.2</version> 
     <configuration> 
      <archive> 
      <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> 
      </archive> 
     </configuration> 
     ... 
     </plugin> 
    </plugins> 
    </build> 
    ... 
</project> 

HINWEIS: Ich gebe normalerweise nicht Nicht-Dokumentations-Links, weil sie gelöscht werden oder ablaufen, aber hier ist ein Beispiel aus dem ich lange gelernt habe zurück https://www.mkyong.com/maven/how-to-create-a-jar-file-with-maven/

Verwandte Themen