Java System.load()永远不会发生
我在一个自签名的Java小程序上使用System.load(),旧版本的dll加载良好,但我的新版本(即使dll构建良好)不加载,不抛出任何异常,只是停止跟踪中的代码 你知道是什么原因造成的吗 这是部署jar文件的html:Java System.load()永远不会发生,java,c++,dll,applet,signed-applet,Java,C++,Dll,Applet,Signed Applet,我在一个自签名的Java小程序上使用System.load(),旧版本的dll加载良好,但我的新版本(即使dll构建良好)不加载,不抛出任何异常,只是停止跟踪中的代码 你知道是什么原因造成的吗 这是部署jar文件的html: <embed id = "IB" type = "application/x-java-applet" width = "{$width}" height = "{$height}" code = "{$code}" archive = "{$archive
<embed id = "IB"
type = "application/x-java-applet"
width = "{$width}"
height = "{$height}"
code = "{$code}"
archive = "{$archive}"
username = "{$username}"
password = "{$password}"
account = "{$customer_ref}"
debug = "{$debug}"
baseweburl = "{$baseweburl}"
webserviceurl = "{$webserviceurl}"
/>
Cpp文件
JNIEXPORT jboolean JNICALL Java_i_jni_B_DeviceOnline
(JNIEnv *env, jobject)
{
try
{
CDevice* clsDevice = new CDevice();
clsDevice->Initialize();
clsDevice->Release();
return true;
}
catch (System::Exception^ ex)
{
return false;
}
}
你永远不会相信解决方案: 我让Visual Studio处于调试模式。。当设置为释放模式时,所有功能都完美无瑕!
也许这可以节省一些时间…小程序是如何部署的?加载它的HTML是什么?谢谢Andrew,我编辑了我的问题不要使用嵌入元素!它在W3C认可的任何HTML版本中都不是有效的HTML。使用部署applet会更好、更安全、更可靠。这可能会解决问题。试试看,回来找我。@Andrew添加部署工具包脚本后,我得到了相同的结果。加载旧的dll文件时,新的dll文件会使小程序崩溃。OK。您可以尝试使用JWS部署它,但这只会带来很小的改变。我不太了解C++,以判断代码中是否有可疑的东西。
JNIEXPORT jboolean JNICALL Java_i_jni_B_DeviceOnline
(JNIEnv *env, jobject)
{
try
{
CDevice* clsDevice = new CDevice();
clsDevice->Initialize();
clsDevice->Release();
return true;
}
catch (System::Exception^ ex)
{
return false;
}
}