2017-03-13 11 views
0

私はArduinoマイクロコントローラとUSBで通信するJavaアプリケーションを開発している高校生です。私はNetBeans IDEとRXTXシリアル通信ライブラリを使用しています。DLLをNetbeansビルドでJarとパッケージ化する方法

私はオンラインで見つかったので、左側のナビゲータウィンドウでライブラリパッケージを右クリックし、 "Jar/Folderを追加"を選択してRXTXcomm.jarを選択しました。次にシリアルポートの入出力ストリームを開くプログラムを作成しました。これはIDEテスト環境内で完璧に機能しました。しかし

、私は私のプロジェクトをビルドするために行くとき、それは適切に構築し、バッチファイルを経由して実行可能なjarファイルを実行している時に、私は次のエラーを取得する:

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver 
Exception in thread "main" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path 

私はそれがrxtxserialを参照していると考えています.dll。私はこれに対する解決策を探していて、どれも働いていませんでした。私が見つけた他の質問は可能な解決策を示していますが、これらのどれもうまくいきませんでした。私が見つけた同様の質問は、特定のアプリケーションの代わりにJavaランタイム用のrxtxをインストールしたことです。これまで私はfat jarとしてパッケージングしようとしていましたが、VMオプションを使用してdllをクラスパスに追加しようとしましたが、何も動作していないようです。誰も私をここで助けることができますか?

+0

http://stackoverflow.com/questions/1403788/java-lang-unsatisfiedlinkerror-no-dll-in-java-library-path –

+0

[java.lang.UnsatisfiedLinkError no \ * \ * \ * \ * \ * .dll in java.library.path](http://stackoverflow.com/questions/1403788/java-lang-unsatisfiedlinkerror-no-dll-in-java-library-path) –

+0

あなたはあなたのJARアプリケーションと同じフォルダにあるDLLファイル(もちろん、そのフォルダを作業ディレクトリとして使用します)? – Sandro

答えて

0

以下のセットアップは私のテストで動作します:

-folder1 
    -runprog.bat 
    -rxtxSerial.dll 
    -folder2 
     -aaa.jar 
     -lib 
     -RXTXcomm.jar 

そして、私のrunprog.batの内容:

java -jar folder2\aaa.jar 

はrxtxSerial.dllファイル正しい(32ビットまたは64ビット)を使用してください。私は自分のコンピュータに複数のjavaインストールを持っています。 IDEを使用しているときは、32ビットrxtxSerialを使用しています。上記の設定では、rxtxSerial.dllの64ビット版を使用する必要があります。

関連する問題