Странное Java исключение Webstart JNLP - PullRequest
3 голосов
/ 14 сентября 2011

У меня есть приложение Java WebStart, которое использует простой JNLP. Недавно у меня возникли странные проблемы при запуске. У меня никогда не было этой проблемы раньше, и я уверен, что ни один контент не был изменен либо :( Я получаю эту ошибку при попытке запустить это приложение.

WARNING: <> tag is not closed correctly Exception parsing xml at line 33
at com.sun.deploy.xml.XMLParser.parseXMLElement(Unknown Source)
at com.sun.deploy.xml.XMLParser.parseXMLElement(Unknown Source)
at com.sun.deploy.xml.XMLParser.parse(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.LaunchDownload.downloadExtensionsHelper(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadExtensions(Unknown Source)
at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Как видите, проблема не в том, какой тег дает. Насколько я вижу; с линией 33 проблем нет. имеет простой тег <argument>session_token_here</argument>

Обновление: Это файл JNLP;

  <jnlp spec="1.0+" codebase="https://MASKHOST:5467/"
 href="https://MASKHOST:5467/myjnlp.jnlp?session=rO0ABXNyADpjb20ud2lseS5pbnRyb3Njb3BlLnNwZWMuc2VydmVyLmJlYW5zLnNlc3Npb24uU2Vzc2lvblRva2Vu9ef0qNvv5yoMAAB4cHNyADBjb20ud2lseS5pc2VuZ2FyZC5wb3N0b2ZmaWNlLlBvc3RPZmZpY2VTcGVjaWZpZXL69Qzv1IsXcgwAAHhwdw4ABUxvY2FsAAVMb2NhbHh3CDWNLwuY3RbfeA%3d%3d&myauth=true">
 <information>
     <title>App Title</title>
     <vendor>Company</vendor>
     <homepage href="null"/>
     <description>Product Name</description>
     <icon href="https://MASKHOST:5467/images/logo.png"
 kind="default"/>   </information>   <security>
     <all-permissions/>   </security>   <update check="timeout"
 policy="always"/>   <resources>
     <jar
 href="https://MASKHOST:5467/product/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar"
 download="eager" main="false"/>
     <extension href="https://MASKHOST:5467/jnlp/productplugins.jsp"
 name="Component name"/>
     <extension href="https://MASKHOST:5467/jnlp/platformplugins.jsp"
 name="Core Plugins"/>
     <property name="osgi.instance.area" value="@user.home/Application
 Data/company/product/component"/>
     <property name="osgi.configuration.area"
 value="@user.home/Application Data/company/product/component"/>
     <property name="eclipse.product" value="osgiproductname"/>
     <java java-vm-args="-Xms64m -Xmx256m -Dsun.java2d.noddraw=true"
 href="http://java.sun.com/products/autodl/j2se"
 version="1.6*&1.6.0_05+"/>
     <property name="sun.java2d.noddraw" value="true"/>   </resources> 
 <application-desc
 main-class="org.eclipse.equinox.launcher.WebStartMain">
     <argument>-noexit</argument>
     <argument>-clean</argument>
     <argument>-loginhost</argument>
     <argument>MASKHOST</argument>
     <argument>-loginport</argument>
     <argument>6785</argument>
     <argument>-session</argument>

 <argument>rO0ABXNyADpjb20ud2lseS5pbnRyb3Njb3BlLnNwZWMuc2VydmVyLmJlYW5zLnNlc3Npb24uU2Vzc2lvblRva2Vu9ef0qNvv5yoMAAB4cHNyADBjb20ud2lseS5pc2VuZ2FyZC5wb3N0b2ZmaWNlLlBvc3RPZmZpY2VTcGVjaWZpZXL69Qzv1IsXcgwAAHhwdw4ABUxvY2FsAAVMb2NhbHh3CDWNLwuY3RbfeA==</argument>
     <argument>-myauth</argument>
     <argument>true</argument>
   </application-desc>
 </jnlp>

Любая помощь или указатели для продолжения работы с благодарностью.

Ответы [ 4 ]

3 голосов
/ 14 сентября 2011
<extension href="https://MASKHOST:5467/jnlp/productplugins.jsp"
 name="Component name/>

Должно быть ..

<extension href="https://MASKHOST:5467/jnlp/productplugins.jsp"
 name="Component name"/>

Но проверьте JNLP, используя JaNeLA, и исправьте все обнаруженные ошибки.

3 голосов
/ 14 сентября 2011

Эта строка:

<java java-vm-args="-Xms64m -Xmx256m -Dsun.java2d.noddraw=true" href="http://java.sun.com/products/autodl/j2se" version="1.6*&1.6.0_05+"/>

имеет встроенный &, который должен экранироваться следующим образом:

<java java-vm-args="-Xms64m -Xmx256m -Dsun.java2d.noddraw=true" href="http://java.sun.com/products/autodl/j2se" version="1.6*&amp;1.6.0_05+"/>

В первой строке также есть неэкранированный &.

В следующей строке отсутствует закрывающая двойная кавычка:

 <extension href="https://MASKHOST:5467/jnlp/productplugins.jsp" name="Component name/>

но это может быть опечатка.

2 голосов
/ 14 сентября 2011

В отсутствие какого-либо файла JNLP я могу предложить использовать средство проверки Janela JNLP

1 голос
/ 14 сентября 2011

Может быть, у вас есть xml-комментарий или символ висящей кавычки " или что-то еще?

...