Исключение при запуске приложения gluon в Web Start

У меня есть следующее исключение при запуске приложения Gluon через веб-запуск ... я понимаю, что это не частица GLUON, напрямую связанная ... это больше проблема со знаком jar. Исключение:

java.lang.RuntimeException: java.lang.ExceptionInInitializerError
at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.instantiateApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError
at com.gluonhq.particle.application.Particle.<init>(Particle.java:170)
at com.gluonhq.particle.application.ParticleApplication.<init>(ParticleApplication.java:89)
at mx.gob.scjn.inventario.InventarioAJ.<init>(InventarioAJ.java:22)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter$1.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: Toolkit not initialized
    at com.sun.javafx.application.PlatformImpl.runLater(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.runLater(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.setPlatformUserAgentStylesheet(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.setDefaultPlatformUserAgentStylesheet(Unknown Source)
    at javafx.scene.control.Control.<clinit>(Unknown Source)
... 28 more

Я уже создаю свои сертификаты, используя:

keytool -genkey -keyalg rsa -alias CLS -keystore mykeyStorte

затем экспортировать его:

keytool -export -alias CLS -file rsatest.cer -keystore mykeyStore

Я импортировал в панель управления java и подписал банку, используя:

jarsigner -keystore mykeyStore InventarioAJ.jar CLS

Очевидно, я что-то упускаю... ¿Любая подсказка? Приветствую. После получения ответа я получил отметку "повторяющийся вопрос"... но правильный ответ - это не (как я думал) ТОЛЬКО часть безопасности/подписи... на самом деле реальная и важная часть ответа имеет это связано с тем, что класс Application не может быть преобразован в апплет, и для этого требуется еще одно изменение в файле JNLP.


person Carlos de Luna Saenz    schedule 16.05.2016    source источник
comment
Проверьте эту ссылку и посмотрите, поможет ли она.   -  person José Pereda    schedule 16.05.2016
comment
Спасибо, Хосе... это дало мне свет.   -  person Carlos de Luna Saenz    schedule 17.05.2016
comment
@JarrodRoberson Я обновил вопрос, надеюсь, вы увидите, что это не та же проблема.   -  person Carlos de Luna Saenz    schedule 18.05.2016
comment
@JarrodRoberson, если вы пометили что-то как дубликат, а не так (как в этом случае), вы должны изменить это ... и, пожалуйста, внимательно прочитайте вопрос, прежде чем помечать его как дубликат.   -  person Carlos de Luna Saenz    schedule 16.05.2017


Ответы (1)


Верно, Java 8 вводит некоторые изменения в JavaFX (я действительно думаю, что эти изменения были в более позднем обновлении, но это не главное). Почему-то сегодня приложение JavaFX не может вести себя как апплет, поэтому файл JNLP должен выглядеть что-то типа:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://localhost/inventarioaj/" href="InventarioAJ.jnlp">
 <resources>
    <j2se version="1.8+" href=
       "http://java.sun.com/products/autodl/j2se"/>
    <jar href="/inventarioaj/InventarioAJ.jar" main="true" />
    <jar href="lib/controlsfx-8.40.10.jar"/>
    <jar href="lib/javax.inject-1.jar"/>
    <jar href="lib/particle-1.1.0.jar"/>
    <jar href="lib/h2-1.4.191.jar"/>
    <jar href="lib/eclipselink.jar"/>
    <jar href="lib/javax.persistence_2.1.0.v201304241213.jar"/>
    <jar href="lib/org.eclipse.persistence.jpa.modelgen_2.5.2.v20140319-9ad6abd.jar"/>
    <jar href="lib/org.eclipse.persistence.jpars_2.5.2.v20140319-9ad6abd.jar"/>
 </resources>
 <security>
    <all-permissions/>
 </security>
 <application-desc name="Inventario de XXXX"
 main-class="mx.xxxxx.InventarioAJ"/>

Таким образом, тег «applet-desc» был удален и заменен тегом «application-desc», а тег «security» должен быть на месте, чтобы приложение могло иметь доступ к файловой системе, а также к сетевым соединениям. Если это так (требуются все разрешения), то все банки должны быть подписаны. Привет

person Carlos de Luna Saenz    schedule 17.05.2016