他のJARライブラリを含む実行可能ファイルJARを作成したいとします。しかし、JARを実行すると、クラスパスの問題が発生します。他のライブラリファイルを含むJARファイルを作成する
クラスパスの問題を解決するにはどうすればよいですか?
他のJARライブラリを含む実行可能ファイルJARを作成したいとします。しかし、JARを実行すると、クラスパスの問題が発生します。他のライブラリファイルを含むJARファイルを作成する
クラスパスの問題を解決するにはどうすればよいですか?
私はあなたがこのように試すことができると思います。
あなたの質問には、簡単な例があります。まず、D:\javademo
のようなプロジェクトディレクトリがあると仮定します。この作業ディレクトリでは、メインクラスHelloWorld.javaを作成し、thtatにはcommons-lang.jar
のような他のJARファイルが含まれています。ここで、メインクラスのHelloWorldとcommons-lang.jarをtest.jarファイルにアーカイブする必要があります。
私たちは私たちのクラスパスと、このようなメインクラス を指定することができるようにまず我々はマニフェストファイルを編集する必要があります。
Manifest-Version: 1.0
Created-By: tony example
Class-Path: test.jar commons-lang.jar
Main-Class: org.tony.java.HelloWorld
私たちは、このファイルtest.mf
と名付けました。そして、それはJARファイルtest.jar
を生成します
jar -cvfm test.jar test.mf -C ./ .
:今、私たちはこのような私たちのJARファイルを生成するjar
コマンドを使用します。このコマンドを使用すると、javaコマンドを使用してこのメインクラスを実行できます。
java -jar test.jar
これは私のソリューションです。私はそれがあなたに役立つ何かを与えることを願って...
jarファイルにライブラリの依存関係を追加する方法を混乱させていただきありがとうございます –
サードパーティライブラリを使用する必要があります。たとえば、OneJarとなります。標準JREのツールの代わりに、OneJarツール(Antタスクのような)を使用して最終的なJARファイルを構築する必要があります。
このようなJARファイルを実行すると、OneJarのサービスクラスがあなたの代わりに起動されます。このクラスは、クラスと同様に内部にパッケージ化されたJARファイルをロードし、メインクラスを実行します。
既によく似た質問と回答があります。例:スタックオーバーフローの質問Easiest way to merge a release into one JAR file。
私はそのことを試みましたが、動作しませんでした。 –
いつ試しましたか? –
私はこれを投稿する前に何度も試みましたが、まだ動作していません。 –
* "私は、他のjarライブラリを含む実行可能なJarを1つ作成したい" *あなたが望むものは、何よりも重要ではありません。 [JWS](http://stackoverflow.com/tags/java-web-start/info)または別のタイプのインストーラを使用して複数のJarをデプロイすることは、多くの場合うまく機能することがわかりました。 –
重複した質問http://stackoverflow.com/questions/5424761/java-packaging-building-common-techniques-jar-file-specifically/5424847#5424847 –