我有一个通过Java Web Start在浏览器中加载的applet。这个applet使用一些本机库来处理Microsoft Office Interop和Active Directory通信。
这里是jnlp
:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.5+">
<information>
<title>My Applet</title>
<vendor>My Vendor</vendor>
</information>
<security>
<all-permissions/>
</security>
<resources os="Windows">
<!-- Application Resources -->
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" />
<jar href="applets/MyApplet.jar" main="true" />
<nativelib href="applets/jacob.jar"/>
<nativelib href="applets/com4j.jar"/>
</resources>
<applet-desc
name="My Applet"
main-class="com.applet.MyApplet"
width="770"
height="825">
</applet-desc>
</jnlp>
加载applet后,一切正常,库按预期工作。但是,如果我关闭applet然后重新打开它,我会在Java控制台中收到此错误:
UnsatisfiedLinkError: no jacob in java.library.path
UnsatisfiedLinkError: no com4j in java.library.path
如果我清除Java缓存,它会再次开始工作。但是,它只能再工作一次,之后在我再次清除Java缓存之前它会失败并出现相同的错误。