2017-06-28 9 views
0

JNAに慣れようとしています。だから私はC DLLをロードし、このDLLから一つの関数を実行する単純なJAVAアプリケーションを実装します。アプリケーションを起動すると、多くのアプレットアラートが発生します。それらのすべてを許可した後、アプリケーションはハングし、何もしません。 NetBeans IDEでの 出力は次のようになります。JNA:アプリケーション起動時のアプレット警告

Current policy properties: 
mmc.sess_pe_act.block_unsigned: false 
window.num_max: 5 
jscan.sess_applet_act.sig_trusted: pass 
jscan.sess_applet_act.block_all: false 
file.destructive.state: disabled 
window.num_limited: true 
jscan.sess_applet_act.unsigned: instrument 
mmc.sess_pe_act.action: validate 
jscan.session.daemon_protocol: http 
file.read.state: disabled 
mmc.sess_pe_act.block_invalid: true 
mmc.sess_pe_act.block_blacklisted: false 
jscan.session.policyname: TU1DIERlZmF1bHQgUG9saWN5 
net.bind_enable: false 
mmc.sess_cab_act.block_unsigned: false 
file.nondestructive.state: disabled 
jscan.session.origin_uri: http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar 
mmc.sess_cab_act.action: validate 
net.connect_other: false 
jscan.session.user_ipaddr: 172.20.65.19 
jscan.sess_applet_act.sig_invalid: instrument 
thread.thread_num_max: 8 
mmc.sess_cab_act.block_invalid: true 
jscan.sess_applet_act.sig_blacklisted: block 
net.connect_src: true 
thread.thread_num_limited: true 
jscan.sess_applet_act.stub_out_blocked_applet: true 
mmc.sess_cab_act.block_blacklisted: true 
jscan.session.user_name: MTcyLjIwLjY1LjE5 
thread.threadgroup_create: false 
file.write.state: disabled 
-->> returning Frame NULL 
BaseDialog: owner frame is a java.awt.Frame 
-->> returning Frame NULL 
BaseDialog: owner frame is a java.awt.Frame 
-->> returning Frame NULL 
BUILD STOPPED (total time: 14 seconds) 

私もこれは私がロードしようとするが、また、この例でそれが失敗したDLLに関連しているかどうかを確認するために、インターネットからの例を試してみてください。

の例では、ここでは、この

import com.sun.jna.Library; 
import com.sun.jna.Native; 


public interface testDll extends Library { 

    testDll INSTANCE = (testDll) Native.loadLibrary("msvcrt", testDll.class); 

    void printf(String format, Object... args);  
} 

この問題は、JAVAのセキュリティ設定とは何かを持っていることだろう。このtestDll

public static void main(String[] args) { 

    testDll dll = testDll.INSTANCE; 
    dll.printf("hallo"); 
} 

を呼び出して、main関数のように見えませんが、私は何を持っていますこれを解決する方法を手がかり。たぶん誰かが似たような問題を抱えていて、これを手伝ってくれるかも ありがとう、 ブー

答えて

0

理由がわかりませんでした。 当社ではトレンドマイクロのアンチウイルスを使用しています。 TMはjarファイルをダウンロードし、それにいくつかの追加パッケージ 'trend'を追加するとjarファイルを修正するようです。私はなぜTMがこれを行うのかわかりませんが、それは私のアプレット警告のす​​べてを引き起こしました。 'trend'パッケージを削除しても問題は解決しませんでした。私はGitHubリポジトリからJNAソースを入手し、現時点でこのビルドのjarファイルを使用します。今、JNAは問題なく動作します。

関連する問題