Forward sla sh '/' возвращается к обратному файлу sla sh '\' .jnlp в инструкции href - PullRequest
1 голос
/ 03 февраля 2020

после веб-запуска файла .jnlp с локального хоста и запуска tomcat- apache локально Я всегда получаю сообщение об ошибке, что файл .jar отсутствует в java. В данном сообщении указывается, что файл .jnlp пытается найти файл .jar неправильно, «переводя» прямую sla sh '/', которую я определил в .jnlp, расположенном в каталоге веб-приложений tomcat.

В частности, файл .jar, на который я ссылаюсь, находится в каталоге \ lib (Windows) каталога root, в котором приложение развертывается на сервере apache -tomcat "\ lib \ mysql -connector- java -8.0.19.jar». При запуске веб-приложения с сервера и даже в .jnlp я изменил эти обратные косые черты на косые, появляется ошибка, показывающая прямое windows sla sh в пути.

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" xmlns:jfx="http://javafx.com" codebase="http://localhost:8080/sfp_levels/" href="JavaFX_SFP_db_levels_GUI.jnlp">
  <information>
    <title>JavaFX_SFP_db_levels_GUI</title>
    <vendor>usr</vendor>
    <description>Test App</description>
    <offline-allowed/>
  </information>
  <resources>
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="JavaFX_SFP_db_levels_GUI.jar" size="389828" download="eager" />
    <jar href="lib/mysql-connector-java-8.0.19.jar" size="2464011" download="eager" />
  </resources>
<security>
  <all-permissions/>
</security>
  <applet-desc  width="800" height="600" main-class="com.javafx.main.NoJavaFXFallback"  name="JavaFX_SFP_db_levels_GUI" >
    <param name="requiredFXVersion" value="8.0+"/>
  </applet-desc>
  <jfx:javafx-desc  width="800" height="600" main-class="javafx_sfp_db_levels_gui.JavaFX_SFP_db_levels_GUI"  name="JavaFX_SFP_db_levels_GUI" />
  <update check="always"/>
</jnlp>

И ошибка возвращается, просматривая .jar как "http://localhost: 8080 / sfp_levels / lib \ mysql -connector- java -8.0.19.jar"

I очистили все кэши (браузер и Java), переустановили Tomcat- Apache, несколько раз скопировали правильный файл .jnlp в путь к веб-приложениям на сервере и правильно подписали файлы .jar из NetBeans (затем Clean & Build)

Я не могу понять, откуда эта windows forward sla sh входит в объявление href после выполнения веб-приложения.

Версия Tomcat - 8.5.50 Версия Java (JDK & JRE) - 1.8 .0_241 ОС Windows 10

1 Ответ

0 голосов
/ 04 февраля 2020

Успех! После генерации одного файла .jar после переполнения стека single_jar_instructions и mkyong , подписавшего файл .jar и сгенерировав файл .jnlp, мне удалось заставить работать мое приложение WebStart. Файлы, развернутые на том же сервере Tomcat, который я вчера пробовал весь день, чтобы заставить его работать безуспешно (с использованием файлов, сгенерированных NetBeans в каталоге / dist). На этот раз это сработало!

Редактировать: Более подробно изучив его, я обнаружил, что в исходном проекте, который выходит из каталога NetBeans / dist, если я исключу все записи для сценариев в исходном html сгенерированный файл и исправьте '\' в '/' в файле .jnlp, он работает правильно. Приложение WebStart появляется и работает нормально. Сценарии из файла html вызывают /web-files/dtjava.js JavaScript автоматически сгенерированный файл, но я не могу найти, где в этом скрипте он проверяет путь к банке, в которой он продолжает ошибаться. Я использую SeaMonkey в качестве браузера, запускающего приложение WebStart.

...