Netbeansで「Mavenプロジェクト」として書かれた小さなユーティリティー・プログラムを持っています(プロジェクトのアイコンの上に「m」という形があります)。私は、このユーティリティとそれが依存するライブラリをjarファイルとしてパッケージ化したいと思います。 jarファイルに必要なランタイムライブラリを含めて、別にそれらをパッケージ化する必要はありません。Netbeans/Mavenプロジェクトからデスクトップjarを作成する
ビルドを実行すると、プロジェクトディレクトリに「dist」と「lib」ディレクトリが作成されます(プロジェクトプロパティでメインクラスを設定しているので)。私はそれをマニフェストファイルに指定させます。これは起こっていません。プロジェクトはIDEでうまく構築され実行されますが、ユーティリティ固有のクラス、ライブラリクラス、マニフェストにはメインクラスが書き込まれていないjarが作成され、ライブラリクラスはjarファイルには含まれません。
これは、デフォルトのNetbeans Javaプロジェクトではなく、これがmavenプロジェクトであるためですか?これをNetbeansのMavenプロジェクトでどのように行うことができますか?
-
提案としてのmaven-組立・プラグインを追加した後、「クリーンとビルド」からのコンソール出力は次のようになります。
cd C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.7.0_07" M2_HOME=C:\\devTools\\apache-maven cmd /c "\"\"C:\\devTools\\apache-maven\\bin\\mvn.bat\" -DskipTests=true
-Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans 8.1\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 clean install\"" Scanning for projects...
------------------------------------------------------------------------ Building OlbUserLoad 1.0-SNAPSHOT
------------------------------------------------------------------------
--- maven-clean-plugin:2.4.1:clean (default-clean) @ OlbUserLoad --- Deleting C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\target
--- maven-resources-plugin:2.5:resources (default-resources) @ OlbUserLoad --- [debug] execute contextualize Using 'UTF-8' encoding to copy filtered resources. Copying 1 resource Copying 0 resource
--- maven-compiler-plugin:2.0.2:compile (default-compile) @ OlbUserLoad --- Compiling 1 source file to C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\target\classes
--- maven-resources-plugin:2.5:testResources (default-testResources) @ OlbUserLoad --- [debug] execute contextualize Using 'UTF-8' encoding to copy filtered resources. skip non existing resourceDirectory C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\src\test\resources
--- maven-compiler-plugin:2.0.2:testCompile (default-testCompile) @ OlbUserLoad --- Nothing to compile - all classes are up to date
--- maven-surefire-plugin:2.10:test (default-test) @ OlbUserLoad --- Tests are skipped.
--- maven-jar-plugin:2.3.2:jar (default-jar) @ OlbUserLoad --- Building jar: C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\target\OlbUserLoad-1.0-SNAPSHOT.jar
--- maven-install-plugin:2.3.1:install (default-install) @ OlbUserLoad --- Installing C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\target\OlbUserLoad-1.0-SNAPSHOT.jar to C:\Users\rcook\.m2\repository\com\accesspoint\OlbUserLoad\1.0-SNAPSHOT\OlbUserLoad-1.0-SNAPSHOT.jar Installing C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\pom.xml to C:\Users\rcook\.m2\repository\com\accesspoint\OlbUserLoad\1.0-SNAPSHOT\OlbUserLoad-1.0-SNAPSHOT.pom
------------------------------------------------------------------------ BUILD SUCCESS
------------------------------------------------------------------------ Total time: 2.155s Finished at: Fri Apr 22 10:15:28 EDT 2016 Final Memory: 17M/152M
------------------------------------------------------------------------
私はそれが私たちの姿を助け願っています他に何が欠けているか。
私は、「ファイル名を指定して実行Mavenのインストール」持っていないようだ - 私はそれを可能にするために、POMで何かが必要なのでしょうか? – arcy
@arcy申し訳ありませんが、NetbeansにはEclipseがあります。 .pomファイルの更新を見ると、実際にはpomファイルに実行を追加する必要があります。この後、ビルドボタンを使用してプロジェクトをビルドするだけで、ターゲットフォルダに依存関係のあるjarが表示されます。 –
私は別の投稿でそれを見つけましたが、私はプロジェクトを右クリックして "カスタム - ゴール"を選択することで "クリーンコンパイルアセンブリ:シングル"を実行することも発見しました。ビルド・ボタンが大きなビッグ・ジャーを生成することに気がつきましたが、これはボタンでビルドされているのか、今説明したカスタム・コマンド・ラインでビルドされているのかによって、バイト数が少し異なります。あなたは違いがどうなるか考えていますか? – arcy