2017-06-28 6 views
0

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

Antwort

0

Ich fand den Grund, warum es nicht funktionierte. In unserem Unternehmen verwenden sie Anti-Virus von Trend Micro. Es scheint, dass TM JAR-Dateien ändert, wenn Sie sie herunterladen und ein zusätzliches Paket "Trend" hinzufügen. Ich weiß nicht, warum TM dies tut, aber es verursachte alle meine Applet-Warnungen. Nur das Löschen des "Trend" -Pakets hat das Problem nicht gelöst. Ich habe die JNA-Quellen vom GitHub-Repository bekommen und benutze im Moment das Jar von diesem Build. Jetzt arbeitet JNA ohne Probleme.

Verwandte Themen