JavaFx 2.0 + EJB + Netbeans — исключение во время выполнения

пожалуйста,

Я написал тестовое приложение на JavaFx 2.0 + EJB в IDE Netbeans, и у меня возникла проблема с запуском этого приложения вне netbeans.

У меня есть форма, использующая FXML, и действие этой формы запускает метод EJB. Я использую сервер Glassfish.

Когда я запускаю это тестовое приложение в netbeans, оно работает отлично, но когда я запускаю приложение вне Netbeans, например jnlp, или в браузере... приложение не может получить доступ к методам EJB. Я не мог видеть сообщение об ошибке ни в webstart, ни в браузере. Итак, я спрашиваю:

1) Как я могу увидеть сообщение об ошибке в веб-запуске или в браузере? (например, javaws test-app.jnlp) 2) Я предполагаю, что ошибка возникает из-за проблем с classpath. (Мне нужны gf-client.jar и javaee-api-6.0.jar в пути к классам, чтобы приложение работало). Как я могу гарантировать, что эти банки находятся в пути к классам?

Извините за мой английский.

Спасибо,

Клебер.


person clebertx    schedule 03.02.2012    source источник


Ответы (1)


  1. чтобы увидеть ошибки от jnlp, вам нужно включить консоль Java:

    Панель управления - Свойства Java - Дополнительно - Консоль Java - Включить консоль

  2. для случая jnlp все внешние библиотеки должны быть указаны в файле jnlp. Обычно NetBeans делает это за вас, но вы можете отладить этот случай, просмотрев вывод Java Console.

person Sergey Grinev    schedule 04.02.2012
comment
Это очень помогает. Спасибо за ответ. Теперь, как я и подозревал, несмотря на то, что javaws загружает библиотеки, я все еще получаю сообщение: javax.naming.NoInitialContextException: невозможно создать экземпляр класса: com.sun.enterprise.naming.SerialInitContextFactory [корневое исключение — java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory] - person clebertx; 05.02.2012
comment
этот класс взят из установки J2EE, см. jarfinder. com/index.php/java/info/ . Он может быть включен в установку NetBeans + J2EE, чтобы ваше приложение работало в NetBeans. Попробуйте добавить appserv-rt.jar вручную в свой проект. - person Sergey Grinev; 07.02.2012
comment
Спасибо. Я обнаружил, что если я просто включу appserv-rt.jar, мне не понадобится gf-client.jar в библиотеке проекта, иначе он все равно не будет работать вне Netbeans. Я вижу в зависимостях библиотеки appserv-rt.jar, что это зависит от gf-client.jar, но мне не нужно включать это последнее в библиотеку проекта, потому что я предполагаю, что netbeans отслеживает библиотеки ведьм, которые нужны проекту. Теперь я верю, что если бы кто-то мог объяснить, как развернуть/настроить клиент приложения на удаленном компьютере, я думаю, это решит мою проблему. Буду пробовать, надеюсь скоро найду решение и выложу сюда. - person clebertx; 08.02.2012
comment
Я нашел решение несколько месяцев назад, наконец. Чтобы запустить приложение-клиент без проблем, вы должны выполнить шаги, указанные в ссылке: docs.oracle.com/cd/E19316-01/820-4337/beaem/index.html . Статьи оракула превосходны. - person clebertx; 28.08.2012