gpt4 book ai didi

java - 动态JNLP从服务器获取文件

转载 作者:行者123 更新时间:2023-12-01 04:10:54 27 4
gpt4 key购买 nike

我想通过定制启动提供动态 JNLP <argument>用户的标签。

经过一番折腾,终于可以正常工作了。

用户登录网站,下载为用户定制的JNLP。 Java Web Start 使用下载的自定义 JNLP 文件启动。

但是,用户第一次启动应用程序时,Java Web Start 会使用 href 从服务器获取“主”JNLP 文件。嵌入在 .jnlp 文件中的属性。这不包含用户的自定义 <argument>标签,然后东西就坏了。

有没有办法告诉 JNLP 使用本地 JNLP 文件而不是从服务器获取它?

这是我的 APPLICATION_TEMPLATE.jnlp :

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Discriptor 1.5//EN" "http://java.sun.com/dtd/JNLP-1.5.dtd">
<jnlp
spec="6.0+"
codebase="http://localhost/jnlp"
version="1234"
href="http://localhost/jnlp/app.jnlp">
<information>
<title>JNLPHelper</title>
<vendor>Yoyodyne, Inc.</vendor>
<offline-allowed/>
<shortcut online="true" install="false">
<desktop/>
<menu submenu="Yoyodyne, Inc."/>
</shortcut>
<association extensions="jnlphelper" mime-type="application-x/jnlphelper"/>
</information>
<security>
<all-permissions/>
</security>
<update check="timeout" policy="always"/>
<resources>
<java initial-heap-size="32M" max-heap-size="256M" version="1.6+"/>
<!--<j2se version="1.6+" java-vm-args="-esa -Xnoclassgc"/>-->
<jar href="JNLPHelper.jar"/>
</resources>

<application-desc main-class="com.prosc.msi.jnlp.JNLPHelper">
<argument>*</argument>
</application-desc>
</jnlp>

此示例文件托管在我的网络服务器上,在测试期间为 localhost 。用户下载定制的JNLP <argument>foo</argument>替换<argument>*</argument> .

我尝试删除 href属性完全来自<jnlp>标签。这几乎成功了,但是应用程序每次都会提示重新安装,并且我的桌面图标被删除并重新添加。

最佳答案

您如何确定用户?您可能会发现这是一个 session 问题或类似的问题,其中 JNLP href 指向的是未定制的 .jnlp 响应。您可能想要更改确定谁在使用下载的方式,或者允许您的 app.jnlp URL 接受一个参数来确认当前用户是谁?

关于java - 动态JNLP从服务器获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19939640/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com