对于我的 JNLP 文件,有一些 nativelib 信息,如下所示:
<resources os="Windows">
<nativelib href="lib/x264-win.jar" />
</resources>
<resources os="SunOS" arch="sparc">
<nativelib href="lib/x264-SunOS-sparc.jar" />
</resources>
<resources os="SunOS" arch="x86">
<nativelib href="lib/x264-SunOS-x86.jar" />
</resources>
当我更新到 JRE7 时,无法加载 nativelib jar,但 JRE6 工作正常。
加载 nativelib 代码如下:
String source = "x264.jar";
ClassLoader cl = Thread.currentThread().getContextClassLoader();
URL url= cl.getResource(source);
“x264.jar”是 x264-win.jar、lib/x264-SunOS-sparc.jar 或 lib/x264-SunOS-x86.jar 中的一个 jar。
当我使用 JRE6 加载 x264.jar 时,它运行良好。但是当我更新到 JRE7 时,它无法加载 x264.jar。
使用 JRE6 时,url 为“x264.jar”信息,如 jar:http://test.local:8080/JNLP.jar!/x264.jar,但使用 JRE7,url 将为空,我发现代码不是加载 nativelib “x264.jar”
有没有人发现JRE7无法加载nativelib.jar?是使用 Thread.currentThread().getContextClassLoader() 加载“x264.jar”的问题吗?