2017-11-11 23 views
2

私はMavenを使用しています。jarファイルに変換しようとするとビルドの成功は表示されますが、No sources sources to compileMaven: 'target'フォルダの下にコンパイルされたクラスが見つかりません

[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] ------------------------------------------------------------------------ 

これは表示されるエラーです。なぜこれが表示されているのかわかりません。 enter image description here

+0

pom.xmlファイルを真剣に改訂することなく通常のEclipseレイアウトを使用することはできません。 –

+0

'src/main/java' Javaソースファイルを意味する規約に従ってください。 'src/main/resources'リソースはプロパティファイルなどです。' src/test/java'ユニットはJavaソースをテストします。 'src/test/resources'リソースを参照してください。 – khmarbaise

答えて

3

Mavenには、プロジェクトの固定構造が必要です。あなたはあなたが* .classファイルを保つことができる場所のmavenが見つけてみてください、知らないのmaven becose必要のsrc /メイン/ javaの/ ...

内のソースファイルを移動必要

src/main/java - Application/Library sources 
src/main/resources - Application/Library resources 
... 

https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

"src/main/java"にあり、見つかりません。

この構造は、あなたが正しい場所にソースとリソースファイルができたら、あなたはのpom.xmlにmaven-jar-pluginを追加して実行することができます契約

1

No sources to compileは単体テストに関連しています。

生産コードはすでにコンパイルされています。それは言う:

Nothing to compile - all classes are up to date

あなたが本当にmaven-assembly-plugin経由でこれを行うことができ、アプリケーションのjarファイルが必要な場合:

 <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> 

mvn clean installを実行し、targetフォルダの下のjarファイルを見つけます。

プロジェクトの構造がstandardの後にあることを確認してください。

+0

今度は「No Sources to Compile」と言っていますが、「コンパイルすることはありません - すべてのクラスは最新です」とは言いません – DaBoss

1

あるコマンドmvn jar:jar

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

参考: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> 

注:私は通常与えませんそれらは削除されるか期限が切れるかもしれませんが、ここでは長い時間を学んだ例です。https://www.mkyong.com/maven/how-to-create-a-jar-file-with-maven/

関連する問題