JNA:应用程序启动时的Applet警报

时间:2017-06-28 08:53:01

标签: java jna

我试着熟悉JNA。所以我实现了一个简单的JAVA应用程序,它加载一个C DLL并从这个DLL执行一个函数。如果我启动应用程序,我会收到许多applet警报。在允许所有应用程序挂起并且什么都不做之后。 netbeans IDE中的输出如下:

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);    
}

这里调用这个testDll的主函数

public static void main(String[] args) {

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

可能是这个问题与JAVA安全设置有关,但我不知道如何解决这个问题。也许有人有类似的问题,可以帮助我。 谢谢, 嘘声

1 个答案:

答案 0 :(得分:0)

我找到了它无法正常工作的原因。 在我们公司,他们使用趋势科技的反病毒。似乎TM修改了jar文件,如果你下载它们并添加一些额外的包'趋势'它。我不知道TM为什么会这样做,但它导致了我的所有applet警报。 只需删除'趋势'包没有解决问题。我从GitHub存储库获取了JNA源代码,并且此时使用了此构建中的jar。现在JNA没有问题。