更新到JRE7,无法加载nativelib jar,但JRE6工作正常

And*_*ndy 19 java jnlp native

对于我的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>
Run Code Online (Sandbox Code Playgroud)

当我更新到JRE7时,无法加载nativelib jar,但JRE6工作正常.

加载nativelib代码如下:

String source = "x264.jar";
ClassLoader cl = Thread.currentThread().getContextClassLoader();
URL url= cl.getResource(source);
Run Code Online (Sandbox Code Playgroud)

"x264.jar"是x264-win.jar中的一个jar,lib/x264-SunOS-sparc.jar或lib/x264-SunOS-x86.jar.

当我使用JRE6加载x264.jar时,它工作正常.但是当我更新到JRE7时,它无法加载x264.jar.

当使用JRE6时,url将是"x264.jar"信息,如jar:http://test.local:8080/JNLP.jar!/x264.jar,但是使用JRE7,url将为null,我发现代码不是加载nativelib"x264.jar"

有没有人发现JRE7无法加载nativelib.jar?是使用Thread.currentThread().getContextClassLoader()加载"x264.jar"的问题?

小智 0

我也有类似的麻烦;然而,即使在 JRE 6 中,这也无法正常工作。

发现一个可能与此相关的错误:

https://bugs.java.com/bugdatabase/view_bug?bug_id=6758884

显然,JRE 在下载 nativelib 资源时可能会遇到问题。

该错误仍然存​​在,并且针对的是 java 版本 8 ...