私はすべての一般的なポストでのサイトを通じて見えたが、私の質問は若干異なりますのJavaパッケージ/ビル共通テクニックJARファイル具体的に
として、他の多くのjarファイルを持っている簡単なJavaアプリケーションを梱包するためのベストプラクティスは何ですか依存関係?
たとえば、メインにfoo.javaがあり、foo1.java、foo2.javaがfoo.javaからアクセスされています。そして、私はlog4j.jar、mysql.jarをEclipseビルドパスに使用しています。
今私はそれを構築するためにうまく動作するantを使用しています。そして私がしているのは、すべてのクラスパスとlog4j情報を参照するシンプルな.shスクリプトを書くことです。しかし、これは私がそれらのすべての瓶を与える必要があり、彼らは正しい場所にいなければならないことを意味します。私は "java -jar foo.jar"と言うことができ、それを他のファイルを転送しなくてもどんなマシンでも動作させたいと思っています。
おそらく、.jarは最適な方法ではありません。クラスパスとすべてをセットアップする方法を知らない人に1つのファイルを渡して、それを実行できるようにしたいだけです。
また、私はベストプラクティスが何であるか不思議です。あなたは通常、誰かに瓶を与え、それらにすべての依存関係の瓶を与え、それをクラスパスに置くように伝えますか?
何とか.rpmを作成しますか?
私はMAVENに詳しくはありませんが、それが最良の方法であれば、私はチュートリアルを行います。今は私がアリを使用しています。
恐ろしい。さて、私は3rdPartyと呼ばれるディレクトリを持っています。クラスパスを含むマニフェストファイルを作成し、それらのすべてのjarファイルと新しいjarファイルを圧縮すると、誰かにそのファイルを解凍できるようになりますそれはクール。 – chantheman
正しいですが、私は通常、プログラムを実行するためのシェル/バッチスクリプトを追加しますが、それは主に伝統です。 -jarを使うと、文字通り、私が上記のコマンドを必要とするだけです。 –
参考:もしあなたが一緒に瓶を洗うつもりなら、maven-shade-pluginが必要です。 –