Ich versuche, mit dem JNA vertraut zu machen. Also implementiere ich eine einfache JAVA-Anwendung, die eine C-DLL lädt und eine Funktion aus dieser DLL ausführt. Wenn ich die Anwendung starte, habe ich viele Applet-Warnungen erhalten. Nachdem alle von ihnen zugelassen wurden, hängt die Anwendung und überhaupt nichts. Der Ausgang in NetBeans IDE ist die folgende:JNA: Applet Warnung beim Start der Anwendung
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)
ich auch ein Beispiel aus dem Internet versuchen, zu überprüfen, ob diese mit dem DLL verwandt ist, die ich versuche zu laden, aber auch mit diesem Beispiel es funktioniert nicht.
Das Beispiel sieht wie folgt aus
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);
}
Hier ist die Hauptfunktion, die diese Testdll nennt
public static void main(String[] args) {
testDll dll = testDll.INSTANCE;
dll.printf("hallo");
}
Könnte sein, dass dieses Problem etwas mit den Java-Sicherheitseinstellungen zu tun hat, aber ich habe keine Hinweis, wie Sie das lösen können. Vielleicht hatte jemand ähnliches Problem und kann mir dabei helfen. Danke, Boo