你的问题是不是"由于无法验证发行者,所以windows已经阻止此软件"如要安装未签名的activex控件,按如下步骤:1、打开Internet Explorer---菜单栏点“工具”---Internet选项--安全---自定义级别---安全设置---“ActiveX控件和插件下”的第5个“
最近在使用rxtx编写串口程序,我也遇到这个问题。但奇怪之处在于,在eclipse中通过引入RXTXcommjar包和指定其native lib运行并无问题。当把工程export为jar包时,直接运行jar包则出现了程序死掉的情况,后定位到在执行rxtx setserialportparams时程序无法往下进行。在command窗口运行jar发现,窗口出现了如下提示:
WARNING: RXTX Version mismatch
Jar version = RXTX-22pre1
native lib Version = RXTX-21-7pre16
而在eclipse中运行并没有出现该提示。初步判断应该是RXTXcommjar包与加载的dll不匹配。通过将正确版本的dll覆盖原dll,始终出现上述问题,不明白为什么无法加载新的dll版本,好像系统曾经加载过dll后就不再重新加载dll。
想到通过重启电脑,是不是就可以了。但仍然没有效果。。。
既然系统不能加载我想要的dll,那我在程序中自己加载,不知道可不可行。试着在程序的开始加入了这个程序:
void loadrxtxdll(){
String basePath = thisgetClass()getProtectionDomain()getCodeSource()getLocation()getPath();
try {
basePath = URLDecoderdecode(basePath,"utf-8");
} catch (UnsupportedEncodingException e) {
eprintStackTrace();
}
Systemoutprintln("basePaht:"+basePath);
if(basePathendsWith("jar")){
basePath = basePathsubstring(0,basePathlastIndexOf("/")+1);
}
File f = new File(basePath);
basePath = fgetAbsolutePath();
Systemoutprintln(basePath);
Systemload(basePath + "\\rxtxSerialdll");
}
上述程序是加载与程序jar包同路径的rxtxSerialdll,将dll拷贝到jar同路径下,运行jar包,成功了!
由此可见,该方法有效。但不明白的是,为何程序不能自动加载新的dll。
以上就是关于java无法验证证书怎么解决全部的内容,包括:java无法验证证书怎么解决、java 运行setSerialPortParams时被卡住、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)