2017-03-06 2 views
0

JavaプロジェクトをNetbeansで構築(実行/デバッグ)する前に、maven対応を使用して依存関係をよりうまく処理できます。今、プロジェクトは正常に構築されますが、実行/デバッグはできません。JavaプロジェクトがMavenを有効にした後に実行されない

デバッグ/実行ボタンをクリックすると、出力ウィンドウにプロジェクトが正常に作成されたがアプリケーションが起動しないというメッセージが表示されます。

作成したjarファイルをダブルクリックすると、次のメッセージが表示されます。Java JARファイル "myProject-SNAPSHOT.jar"を起動できませんでした。考えられるエラーメッセージについては、コンソールを確認してください。 しかし、コンソールにエラーメッセージは表示されません。

アップデート1 これは私のpom.xmlがどのように見えるかです:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>MyGroupID</groupId> 
    <artifactId>MyProjectName</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 
    <dependencies> 
     <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi</artifactId> 
      <version>3.15</version> 
     </dependency> 
     <dependency> 
      <groupId>org.jfree</groupId> 
      <artifactId>jcommon</artifactId> 
      <version>1.0.23</version> 
     </dependency> 
    </dependencies> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <maven.compiler.source>1.8</maven.compiler.source> 
     <maven.compiler.target>1.8</maven.compiler.target> 
    </properties> 
</project> 

アップデート2 ここではmvn -X clean packageの出力です:

あなたのjarができないこと、それを何が起こる
[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building GeMSE 1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ GeMSE --- 
[INFO] Deleting /Users/user/NetBeansProjects/GeMSE_Maven_Enabled/GeMSE/target 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ GeMSE --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] skip non existing resourceDirectory /Users/user/NetBeansProjects/GeMSE_Maven_Enabled/GeMSE/src/main/resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ GeMSE --- 
[INFO] Changes detected - recompiling the module! 
[INFO] Compiling 73 source files to /Users/user/NetBeansProjects/GeMSE_Maven_Enabled/GeMSE/target/classes 
[WARNING] /Users/user/NetBeansProjects/GeMSE_Maven_Enabled/GeMSE/src/main/java/GeMSE/Importers/GTFParser.java: Some input files use unchecked or unsafe operations. 
[WARNING] /Users/user/NetBeansProjects/GeMSE_Maven_Enabled/GeMSE/src/main/java/GeMSE/Importers/GTFParser.java: Recompile with -Xlint:unchecked for details. 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ GeMSE --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] skip non existing resourceDirectory /Users/user/NetBeansProjects/GeMSE_Maven_Enabled/GeMSE/src/test/resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ GeMSE --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ GeMSE --- 
[INFO] No tests to run. 
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ GeMSE --- 
[INFO] Building jar: /Users/user/NetBeansProjects/GeMSE_Maven_Enabled/GeMSE/target/GeMSE-1.0-SNAPSHOT.jar 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 2.838 s 
[INFO] Finished at: 2017-03-06T15:10:25-08:00 
[INFO] Final Memory: 19M/312M 
[INFO] ------------------------------------------------------------------------ 
+0

mvn -X cleanパッケージの出力とは何ですか? – Adonis

+0

@アップデート2を参照してください。 – Hamed

+0

出力にBuild success以上のものがあると確信しています! – Adonis

答えて

1

理由は次のとおりです。

  • メインクラスを指定するマニフェストエントリはここにはありません。
  • および/またはJARファイルに必要な依存関係がバンドルされていません。

依存関係をバンドルしてビルドする必要があります。あなたのpom.xmlに定義します。

<build> 
<plugins> 
    <plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <configuration> 
     <archive> 
     <manifest> 
      <mainClass>fully.qualified.MainClass</mainClass> 
     </manifest> 
     </archive> 
     <descriptorRefs> 
     <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
    </configuration> 
    <executions> 
    <execution> 
     <id>make-assembly</id> <!-- this is used for inheritance merges --> 
     <phase>package</phase> <!-- bind to the packaging phase --> 
     <goals> 
     <goal>single</goal> 
     </goals> 
    </execution> 
    </executions> 
    </plugin> 
</plugins> 
</build> 

その後、あなたは、端末に呼び出して、JARファイルを作成することができます。

MVNクリーンコンパイルアセンブリ:単一

をそれを結ぶのが一般的ですパッケージフェーズにアセンブリタスクを実行して、mvnパッケージを実行するときに、依存関係を持つjarを構築するようにします。

+0

私の質問を更新しました。これはあなたが説明したものとは違ったようです! – Hamed

関連する問題