2

我的 Java Web Start 应用程序有自己的数字签名。所有 jar 文件都已签名,但我的应用程序仍然显示安全警告对话框“部分应用程序缺少数字签名。只有在您信任应用程序的来源时才运行”。我发现如果我在 jnlp 文件中使用属性标记会引起警告。没有属性标签,一切都可以完美运行。是否有其他方法来传递属性?(不同的标签或其他东西)

在 JNLP 文件中,我定义了一些属性,例如:

<property name="loginconfig" value="//loginconfigpath" />
<property name="iconmap" value="//iconmappath" />

ETC..

4

1 回答 1

2

来自Java 网络启动协议 (JNLP) 支持:命令行参数..

命令行参数

JNLP 文件语法支持将命令行参数传递给 JVM 的多种机制。可以使用标签的属性java-vm-args,同一标签的属性可能会导致隐式指定 ,或者可以用标签指定系统属性。<java>max-heap-size-Xmx argument<property>

新的 Java 插件支持基于每个小程序指定 JVM 命令行参数,因此支持 JNLP 文件格式的所有这些功能,但有一些规则和限制。

Java Web Start 开发人员指南的 JNLP 文件语法部分定义了一组“安全”JVM 命令行参数和系统属性。在新的 Java 插件中,默认情况下,只能在每个小程序的基础上指定这些安全的命令行参数。

非安全命令行参数只能在每个小程序的基础上指定,如果:

  • 小程序通过 JNLP 文件启动,并且
  • 命令行参数在 JNLP 文件中指定,并且
  • 小程序的JNLP 文件已签名。

我怀疑他们已经将其扩展为包含任何JNLP 文件(而不仅仅是小程序),并且这种属性的使用触发了您所看到的错误。

于 2013-07-10T07:33:28.230 回答