2009-11-03 5 views
8

Я отлаживаю приложение jnlp, и раньше я имел возможность удалять его через eclipse, но не больше.удаленная отладка приложения jnlp с eclipse

команда для запуска это:

/usr/java/jdk1.6.0_14/jre/bin/java -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1445 -Djnlpx.heapsize=64m,512m -DtrustProxy=true -Xverify:remote -Djava.security.policy=/lib/security/javaws.policy -Dfile.encoding=UTF-8 -Xbootclasspath/a:/usr/java/jdk1.6.0_14/jre/lib/deploy.jar:/usr/java/jdk1.6.0_14/jre/lib/javaws.jar:/usr/java/jdk1.6.0_14/jre/lib/plugin.jar -classpath /usr/java/jdk1.6.0_14/jre/lib/deploy.jar com.sun.javaws.Main launch.jnlp 
Listening for transport dt_socket at address: 1445 

и проблема заключается в том, что, когда я придаю затмение отладчик, он выключается и перезагружается; поэтому отладчик присоединяется к первому процессу; и когда это умирает, так делает отладчик.

сценарий отладчика фактически не имеет значения; поскольку процесс jnlp перезапускается самостоятельно, прежде чем отладчик когда-либо будет запущен, если suspend = n.

Я пробовал отслеживать его, но опция -XX: TraceSupport = true (и другие варианты, которые я пробовал) вызывает ошибку jvm.

Я использую Fedora 11, Eclipse Java EE IDE для веб-разработчиков. (ID сборки: 20090621-0832)

Я спрашиваю, знает ли кто-нибудь, как это исправить, или, по крайней мере, как включить лучший журнал (т. Е. Захватить весь вывод консоли в журнал, чтобы я мог принимать посмотрите на первую консоль, которая вспыхивает на моем экране в течение миллисекунды)

спасибо!

ответ

4

Мой босс нашел ответ:

Вероятно, что “<property>” теги в файле JNLP являются более строгими с новой JRE. Согласно Sun documentation:

«Для ненадежного приложения, системные свойство, установленное в файле JNLP будет быть установлено только Java Web Start, если они считается безопасными, или если имя свойства начинается с«JNLP «. или «javaws.».»

Похож ненадежный статус вызывает приложение для запуска второго раза с соответствующими свойствами.

после перекомпиляции и фиксации, мы надеемся, не связанный вопрос, где были новые строки вызвавшего подписанную APPLICATION.JNLP и launch.jnlp не кажется, «то же самое», отладчик теперь работает.

+1

Отлично! Ваш комментарий помог мне найти мою собственную проблему. Похоже, что JNLP загружается или анализируется дважды, в зависимости от ненадежного состояния. Во второй раз используются следующие параметры: . Поэтому мне нужно было добавить все параметры запроса в HREF, и он, наконец, работает. Благодарю. – Kloe2378231

4

В этом blog post есть переменные среды, которые вы можете установить для отладки jnlp. Это всегда срабатывало для меня.

set JAVAWS_TRACE_NATIVE=1 

    set JAVAWS_VM_ARGS=-Xdebug -Xnoagent -Djava.compiler=NONE 
      -Xrunjdwp:transport=dt_socket,address=8989,server=y,suspend=y 
    javaws http://server:port/descriptor.jnlp 
+0

Я обнаружил, что один уже и попробовал некоторые из флагов; Я продолжу и расскажу людям о результатах; Сегодня утром я нашел этот пост (http://forums.sun.com/thread.jspa?threadID=569693), и я продолжу его запирать. –

+0

Я тоже нашел это сообщение: http://stackoverflow.com/questions/686061/how-can-i-debug-applications-under-java-web-start-jnlp –

Смежные вопросы