2

私はjarファイルをexeファイルに変換しようとしています。プログラム(jar)は、あるディレクトリにある別のjarであるBluetoothライブラリ「Bluecove」を使用します。このプログラムは、JavaSwingも使用しますJFrame。このプログラムは、NetbeansまたはEclipse内から実行すると完全に機能します。それをデプロイする時が来たので、exeに変換する必要があります。しかし、「Bluecove」とリンクする最終的な実行可能ファイルを取得できませんでした。JSmoothLaunch4jを試しましたが、どちらもプロセスを完了して「exe」を作成できましたが、Bluecoveクラスが見つからないため、最終的なプログラムは実行されていません。

これを回避する方法について何か提案はありますか?これらのコンバーターには、ライブラリーとのリンクに関するドキュメントはありません。どんな助けでも大歓迎です。

解決策: 答えてくれてありがとう!Andrew Thompsonが提案した方法を使用して、プログラムをデプロイしました。これは見事に機能しました。そして、JARを作成するために、Abdullah Shaikhが提案したように、すべてを1つのJARに含めることを好みました。そのためにFat-JarEclipseプラグインを使用しました。

4

4 に答える 4

4

それをデプロイする時が来たので、exeに変換する必要があります。

これらの2つのステートメントは一緒に意味をなさない。Swingデスクトップアプリをデプロイすることはできません。Windowsベースの実行可能ファイルを使用して*nixまたはOSXに。Javaデスクトップアプリをデプロイするための最良のオプション。通常、 JavaWebStartを使用するWebページ上のリンクからのものです。

BlueCoveドキュメントから:インストール:

インストール

BlueCoveは、オペレーティングシステムまたはBluetoothUSBデバイスに付属しているすでにインストールされているネイティブBluetoothスタックに依存しています。

BlueCoveのバイナリ(コンパイル済み)バージョンのインストールは次のとおりです。

  • BlueCoveバイナリリリースをダウンロード
  • クラスパスに追加bluecove.jarする
  • Linuxbluecove-gpl.jarでアプリケーションを実行している場合は、クラスパスにも追加してください

これは、次のようなことを意味します。2 Java Web StartベースのJNLP拡張機能:

  1. bluecove.jarWindowsとOSX、およびLinuxに必要なコアクラスをサポートするためのBlueCoveメインAPI()の拡張。この「メイン」JNLPファイルには、 Linuxに固有のリソースセクションがあり、「Linuxのみ」の拡張JNLPを参照します。
  2. Linux固有のAPI(bluecove-gpl.jar)の拡張機能で、ユーザーのライセンスプロンプトをポップするインストーラー要素が含まれています(必要に応じて、この拡張機能全体はライセンスプロンプトを生成するためにのみ必要です)。これが小さなデモです。そのうちのExtensionInstallerServiceライセンス契約が表示されます。

..これには、ユーザーがアプリケーションを使用するときに常にインターネット接続が必要ですか、それともインターネットが必要なのは初めてのアクティベーションですか?

Java Web Startクライアント(適切なJVMとアプリを起動するアプリ)は通常、そのOSに関連するアプリケーションJarの更新をホームサーバーに確認します。幸い、JNLPで要素を指定することにより、チェックがいつどのように行われるか、およびアプリケーションを必要に応じて「オフライン」で実行できるかどうかを構成できます。

<offline-allowed />

offline-allowed要素(要素の一部jnlp、初期インストール後にアプリを保証します。オフラインで使用できます。

于 2013-02-11T08:22:44.037 に答える
2

jar 内に、依存するすべての jar を配置する必要があります。または、jar のマニフェストで Class-Path ヘッダーを使用することもできます。

fat-jar拡張またはOne Jarを試すこともできます

于 2013-02-11T07:40:45.150 に答える
2

ランチャーを作成するときにクラスパスに bluecove JAR を追加したことを確認してください: JSmooth でクラスパスを設定し、 Launch4jクラスパスを設定します

于 2013-02-11T07:37:28.137 に答える
1

この問題を解決するには、すべての依存jarを最終的なjarファイル内に配置します。
Eclipseでは、次の方法でこれを行うことができます。File -> Export -> Java -> Runnable Jar File -> (Select the option) Package required libraries into generated jar
次に、このjarを使用して、任意のjarからexeへのコンバーターを使用してexeを作成します。
お役に立てれば

于 2013-02-11T07:48:12.720 に答える