JNLP应用程序-Lib文件夹未发送到客户端

时间:2018-09-10 19:28:48

标签: java jnlp

我有一个Java Webstart应用程序,由于不赞成使用applet,因此我已将其从Applet转换为Application。在尝试修改指向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>

1 个答案:

答案 0 :(得分: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>