3

我正在尝试使用 jnlp 和 deployjava.js 加载一个小程序,但我无法解决这个问题。Stacktrace 如下:

JNLParseException[ Could not parse launch file. Error at line 56.]
    at com.sun.javaws.jnl.XMLFormat.throwNewException(Unknown Source)
    at com.sun.javaws.jnl.XMLFormat.parse(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory._buildDescriptor(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
    at sun.plugin2.applet.JNLP2Manager.initialize(Unknown Source)
    at sun.plugin2.main.client.PluginMain.initManager(Unknown Source)
    at sun.plugin2.main.client.PluginMain.access$200(Unknown Source)
    at sun.plugin2.main.client.PluginMain$2.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

这是我的 jnlp 文件:

<%-- 
    Document   : render
    Created on : 18 May, 2012, 2:16:37 PM
    Author     : Piyush
--%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
    String path = request.getContextPath();
    String protocol = request.getScheme();
    String domain = request.getServerName();
    String port = Integer.toString(request.getServerPort());
    String a = protocol + "://" + domain + ":" + port + path;
    path = protocol + "://" + domain + ":" + port + path + "/";
    String invitedUnder=request.getParameter("invitedUnder");
%>

<%@page contentType="application/x-java-jnlp-file" pageEncoding="UTF-8"%>
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="<%=path%>" href="">
    <information>
        <title>Enrollment</title>
        <vendor>Piyush</vendor>
    </information>
    <resources>
        <!-- Application Resources -->
        <j2se version="1.6+"
              href="http://java.sun.com/products/autodl/j2se" />
        <jar href="jnlp/FingerPrint_fat1.jar" main="true" />

    </resources>
    <applet-desc 
        name="Enrollment Applet"
        main-class="ui.InvitationApplet"
        width="600"
        height="600">
        <param name="separate_jvm" value="true" />
        <param name="firstName" value="${firstName}"/>
        <param name="lastName" value="${lastName}"/>
        <param name="loginId" value="${loginId}"/>
        <param name="roleId" value="${roleId}"/>
        <param name="urlCode" value="${urlCode}"/>
        <param name="databaseURL" value="${databaseURL}"/>
        <param name="userName" value="${userName}"/>
        <param name="createdBy" value="${createdBy}"/>
        <param name="password" value="root"/>    
        <param name="driverName" value="com.mysql.jdbc.Driver"/>
        <param name="path" value="<%=a%>"/>
        <param name="invitedUnder" value="${invitedUnder}"/>
    </applet-desc>
    <update check="background"/>
</jnlp>            

我没有弄错,因为前一天一切正常。我使用的是 SpringMVC 3.2 版本和 Java 7。

4

2 回答 2

2

href=""href应该明确设置为有效路径,或完全省略。

请务必使用JaNeLA验证(典型)最终产品。

于 2012-12-18T08:56:13.787 回答
0

您首先使用 JSTL 标记,然后再导入 JSTL。它应该类似于以下内容。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


<%-- 
    Document   : render
    Created on : 18 May, 2012, 2:16:37 PM
    Author     : Piyush
--%>
于 2012-12-18T06:31:24.917 回答