2017-01-06 4 views
0

私のプロジェクトでJNAライブラリを使用しようとしています。アプレットではなくアプリケーションでjnaライブラリを使用

次のように私の状況は次のとおりです。

私はカメラ入力を示しアプレットを持っています。

私は正しい結果を得るアプレットとしてコマンド実行を使用してアプレットを実行する場合:私は、ビルド・パスからjna.jarを削除した場合、予想通り

an applet that shows the camera input

が、それは私にエラーを与えます。

ネイティブプラグインのディレクトリの名前を変更すると、予想通りにエラーが表示されます。

私は全体のアプリケーションを実行しようとすると、私はエラーを取得する:

GStreamer-WARNING **: Failed to load plugin C:/Users/aaa/Desktop/bbb/ccc/video/library/\windows64\plugins\libgstwavparse.dll on 30+ dlls

パスC:/Users/aaa/Desktop/bbb/ccc/video/library/\windows64\plugins\は、名前を変更した場合は、アプレットがクラッシュ(そう正しいもの)を行うことを一つであり、jna.jarとJNAによって使用されるライブラリは、アプリケーションが開始されるルートプロジェクトと、アプレットを表示するカメラをインスタンス化するビュープロジェクトのそれぞれのプロジェクトにインポートされます。

以前に示唆したように、私は正しいディレクトリを参照するために、すべての可能な形態ではなく、無駄に...

System.setProperty("jna.library.path","C:/Users/aaa/Desktop/bbb/ccc/video/library/windows64/plugins/"); 

などを試してみました。

ライブラリは、3 rdパーティライブラリであり、実際に動作するはずです。

問題はJNAおよび/またはのGStreamerのかさえ、この時点でいくつかの基本の知識の私の完全な欠如であってもよいです。

回避策はありますか? DLL ...またはGstreamer DLL ...またはProcessing 2.2.1にGstreamer DLLが参照されているときに、アプレットをインスタンス化するアプレットとアプリケーションが異なる動作をするのはなぜですか?私はそれがこのように動作させるために管理

+0

あなたの質問は個人的には非常によく分かりませんが、完全なエラーメッセージですか? – aikeru

+0

プラグインをロードしようとすると警告が表示された後、java.langというメッセージが表示されます。IllegalArgumentException:いいえそのようなGstreamerの工場:appsinkの魔女は、プラグインをロードすることができないの結果でなければならない –

+0

あなたが[この回答]を見てください(http://stackoverflow.com/questions/15667973/how-私のプログラムから実行に外出することを食べる/ 15688065#15688065)。エクスポート後の唯一の追加は、 '' java.library.path'''を使ってJavaネイティブライブラリを探すべき場所をJVMに明示することです(例えば '' java -jar/path/to/your/ja-jna-libs''') –

答えて

0

OK:私は、Viewプロジェクトに直接メインを書いた場合、それはいくつかの問題を解決して...それが動作するようになりましパネルにアプレットを追加します(アプレットをパネルであっても前と同じように)...同じ正確なダミーのメインは、ルートプロジェクトの悲惨な部分の下で実行された場合、以前と同じように警告を出します:プラグインのロードに失敗しました: "正しいパス"

私はルートプロジェクトとビュープロジェクトVprojectを正直に言うと)ビデオのlibはVProjectに含まれ、dllはプロジェクトのリソースです。メインプロジェクトから何か(異なるシステム変数のような)を実行すると問題が発生する可能性はありますか? 問題を知らないうちに、jnaプラットフォームと両方のプロジェクトのjna-using-video libに関連して追加できるすべてのものを先行して追加および削除(および組み合わせ)しました。

この場合、私は実際にフレームワークを作成しているので、これは大きな制限です。どんな洞察?

関連する問題