executes IDEから、JAR
はhello worldタイプのコンソールアプリケーションを実際に実行するためにどのように作成されますか?mvnクリーンパッケージ:メインマニフェスト属性なし
[email protected]:~/NetBeansProjects/HelloMaven$
[email protected]:~/NetBeansProjects/HelloMaven$ mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building HelloMaven 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ HelloMaven ---
[INFO] Deleting /home/thufir/NetBeansProjects/HelloMaven/target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ HelloMaven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ HelloMaven ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /home/thufir/NetBeansProjects/HelloMaven/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ HelloMaven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/thufir/NetBeansProjects/HelloMaven/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ HelloMaven ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ HelloMaven ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ HelloMaven ---
[INFO] Building jar: /home/thufir/NetBeansProjects/HelloMaven/target/HelloMaven-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.400 s
[INFO] Finished at: 2017-10-21T10:50:42-07:00
[INFO] Final Memory: 14M/47M
[INFO] ------------------------------------------------------------------------
[email protected]:~/NetBeansProjects/HelloMaven$
[email protected]:~/NetBeansProjects/HelloMaven$ tree
.
├── nbactions.xml
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── net
│ │ │ └── bounceme
│ │ │ └── dur
│ │ │ └── hello_maven
│ │ │ └── Main.java
│ │ └── resources
│ └── test
│ └── java
└── target
├── classes
│ └── net
│ └── bounceme
│ └── dur
│ └── hello_maven
│ └── Main.class
├── generated-sources
│ └── annotations
├── HelloMaven-1.0-SNAPSHOT.jar
├── maven-archiver
│ └── pom.properties
└── maven-status
└── maven-compiler-plugin
├── compile
│ └── default-compile
│ ├── createdFiles.lst
│ └── inputFiles.lst
└── testCompile
└── default-testCompile
└── inputFiles.lst
25 directories, 9 files
[email protected]:~/NetBeansProjects/HelloMaven$
[email protected]:~/NetBeansProjects/HelloMaven$ java -jar target/HelloMaven-1.0-SNAPSHOT.jar
no main manifest attribute, in target/HelloMaven-1.0-SNAPSHOT.jar
[email protected]:~/NetBeansProjects/HelloMaven$
明らかに、マニフェストにはMain-Class
エントリを指定するだけです。ただ、package
phaseに焦点を当て
:
MavenのツールMavenのフェーズにはほとんど包括的なリストが、
を実行するには、これらが実行され、最も一般的な デフォルトのライフサイクルフェーズです。
検証:検証プロジェクトが正しく、すべての必要な 情報が利用可能であるコンパイル: プロジェクトテストのソースコードをコンパイル:適切な単位 テストフレームワークを使用してコンパイルされたソースコードをテストします。これらのテストでは、コードを またはデプロイされたパッケージにパッケージ化する必要はありません。コンパイル済みのコードを取り出し、それを (JARなど)の配布可能な形式でパッケージ化する必要があります。インテグレーションテスト:プロセスと インテグレーション テストを実行できる環境にパッケージを展開します。パッケージが有効であることを確認するためにチェックを実行し、 を満たし、品質基準を満たしているinstall:パッケージをローカルの リポジトリにインストールします。他の開発者と共有するためのコピーリモートリポジトリへの最終 パッケージをして プロジェクト
私が見
可能な複製(https://stackoverflow.com/questions/9689793/cant-execute-jar-file-no -main-manifest-attribute)を指定します。または、maven固有のhttps://stackoverflow.com/questions/15990258/maven-cant-execute-jar – nullpointer