首页 文章

使用$$上下文无法在java 7.45中工作的JNLP签名

提问于
浏览
1

我有一个具有codebase =“$$ context”的JNLP

我在签署JAR之前将JNLP作为JNLP-INF / APPLICATION.JNLP放入JAR中签名 .

启动应用程序时,我得到“字段代码库在签名的启动文件中有一个无效值:$$ context” .

在浏览器中启动的主要JNLP中的$$上下文被替换为ok并且有效 . 签名的JAR文件中的jnlp显然不会被替换,因此无效 . 我如何调和这个?

谢谢

1 回答

  • 0

    APPLICATION.JNLP不应包含codebase = "$$context" . 它必须包含确切的代码库 . (见jnlp specification

    但是,有一种情况是代码库是动态的 . 在这种情况下,您应该使用APPLICATION_TEMPLATE.JNLP并在codebase属性中加上'*' .

    该$$上下文由产生在运行时一个jnlp一个JNLPDownloadServlet使用,但用于签署JNLP的,这是很成问题,因为这产生JNLP必须 exactly 一样的一个在签名的jar(除了'*') .

    解决方法是使用一个servlet从签名的jar中提取APPLICATION_TEMPLATE.JNLP,用正确的代码库替换'*',并将其返回给浏览器 .

相关问题