2

実行可能なjarを出力として取得するjavafxアプリケーションフォームを1つ作成しました。現在、私のjavafxアプリケーションは、commons.io.2.4.jarのような2つのサードパーティのjarに依存しています。

現在、アプリケーションを実行するには、これらの依存jarを実行可能jarのクラスパスに次のように保持する必要があります。

--------Application.jar
----------[Classpath Folder]\dependend.jar files

ただし、すべての依存jarを実行可能jar自体にバンドルする必要があります。

javafxはantビルドを使用しているので、使用してみました

 <jar destfile="application.jar">
        <zipfileset src="Dependent.jar" />
 </jar>

しかし、すべての依存jarをバンドルした後、実行可能jarを取得していません。問題がどこにあるのかわかりません。

同じタグも試し<fx:jar> </fx:jar>ましたが、要件を正確に達成する方法がわかりませんでした。

マニフェストファイルは次のようになります。

Manifest-Version: 1.0
implementation-vendor: dhruv1767
JavaFX-Version: 2.2
implementation-title: LogsDeObfuscator
implementation-version: 1.0
JavaFX-Application-Class: com.liaison.controller.LogsDeObfuscator
JavaFX-Class-Path: lib/allatori.jar lib/commons-io-2.4.jar
Created-By: JavaFX Packager
Main-Class: com/javafx/main/Main

Name: com/javafx/main/Main.class
SHA-256-Digest: j0IuLabX3l0TgeO1+UqESD6fWA09lNsuiTtr4eue1HU=

Name: com/liaison/controller/LogsDeObfuscator.class
SHA-256-Digest: AysvgvCJeJoRdCpqu1xC8JDKttGWUQR4ce8jVW/kLDY=

Name: com/liaison/controller/Delta.class
SHA-256-Digest: TkQcfU1YWr6UwkiIj2IJpFi4UirQK7pDL26pVnAjVYM=
4

3 に答える 3

1

注意すべき点の1つは、依存するJAR自体にマニフェストが含まれているかどうかです。

<jar destfile="application.jar">
    <zipfileset src="Dependent.jar" excludes="META-INF/MANIFEST.MF/>
</jar>
于 2013-02-28T16:43:29.403 に答える
0

このためにexe4jを使用する前に、同じ問題に直面しました。必要なすべてのjarを追加し、exe4jがそれらすべてを1つにまとめました。これは私のために働きます。jarを追加するときに、メインJarのメインクラスパスを追加するようにしてください。

于 2013-02-28T16:18:42.880 に答える
0

これを試してみてください:

http://www.zenjava.com/2012/11/24/from-zero-to-javafx-in-5-minutes/

Mavenは必須ですが、CommonsIOの依存関係を簡単に追加できます。

指示に従って、Ubuntu用の実行可能なJARとネイティブインストーラーを作成することができました。実行可能JARの生成は、次のコマンドで実行されます。

mvn jfx:build-jar

動作しているリンクからサンプルプロジェクトを取得します。次に、依存関係をPOMファイルに追加します。

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

次に、既存のコードをMavenが管理するJavaFXプロジェクトに移動できます。

詳細はリンクにありますが、ネイティブインストーラーを生成するには、次のコマンドを実行します。

mvn jfx:build-native
于 2013-02-28T17:47:12.580 に答える