【问题标题】:JNLP Application - Lib folder not being sent to clientJNLP 应用程序 - Lib 文件夹未发送到客户端
【发布时间】:2018-09-10 19:28:47
【问题描述】:

我有一个 java webstart 应用程序,我已将它从 Applet 转换为 Application,因为 applet 已被弃用。在我尝试修改指向 jnlp 文件的 html 文件时,我似乎无法启动程序。当我点击链接时,会下载 jnlp 文件,但不会下载相应的 lib 文件夹。关于为什么的任何想法?

我能够在 Eclipse 中作为应用程序运行该应用程序。所以这些问题与 JNLP 有关。罐子也有正确的签名。

.jnlp 启动时出现的错误是它无法找到 /lib/MyJar.jar。它尝试启动 java,但我得到了运行时异常。我从 Chrome(将其视为下载)和 IE(将其放在临时文件夹中)都得到了相同的异常(尽管在不同的位置寻找 jar)。

启动 HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
    <head>
        <title>Application</title>
    </head>
    <body>
        <h3>Application</h3>
        <br>
        <a href="/param.xml" download="param.xml">Download param.xml file</a>
        <br>
        <br>
        <a href="/launch.jnlp">Launch Application</a>
        <br>
    </body>
</html>

JNLP 文件

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="" href="launch.jnlp">
    <information>
        <title>Application</title>
        <vendor>Info</vendor>
        <homepage href=""/>
        <description>Application description</description>
            </information>
        <security>
     <all-permissions/>
  </security>

    <resources>
        <j2se version="1.7+"/>              

    <jar href="lib/Application-0.0.1-SNAPSHOT.jar" main="true"/>
    <jar href="lib/commons-net-3.3.jar"/>
    <jar href="lib/dd-plist-1.19.jar"/>

    </resources>
    <applet-desc main-class="My.Main.Class" name="Application"
        width="1000" height="500">
    </applet-desc>
</jnlp>

【问题讨论】:

  • 你能运行 JNLP 文件吗?运行 .jnlp 文件是缓存 JAR 的内容。您的浏览器或操作系统可能不理解如何运行 .jnlp。
  • 意思是 JNLP 在我的机器上后可以打开吗?是的。如果我双击它,你会在找不到我的 jar 的异常之前看到 Java 启动屏幕弹出。
  • 我认为您只需将代码库 + href 属性设置为完整的服务器 URL 路径。
  • “我有一个 java webstart 应用程序,因为 applet 已被弃用,所以我已将它从 Applet 转换为 Application。” Java Web Start 也是如此。
  • 真的吗?是什么取代了它?

标签: java jnlp


【解决方案1】:

我通过切换解决了这个问题:

    <a href="/launch.jnlp">Launch Application</a>

<script src="https://www.java.com/js/deployJava.js"></script>
        <a href="javascript:deployJava.launchWebStartApplication('launch.jnlp');">Launch Application</a>

【讨论】:

    猜你喜欢
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2018-10-27
    相关资源
    最近更新 更多