depuração remota de um aplicativo jnlp com eclipse
Pergunta
Estou a depuração de um aplicativo jnlp, e eu costumava ser capaz de depuração remota através eclipse, mas não mais.
o comando para iniciá-lo é:
/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
e o problema é que quando eu anexar o depurador eclipse, ele desliga e reinicia; de modo que os adidos depurador para o primeiro processo; e quando que morre assim faz o depurador.
o script depurador realmente não importa; medida que o processo jnlp re-começa no seu próprio antes que o depurador nunca é lançado se suspender = n.
Eu tentei rastreá-lo, mas o -XX opção: TraceSupport = true (e outras variações que eu tentei) causa um erro JVM.
Estou usando o Fedora 11, Eclipse Java EE IDE para desenvolvedores Web. (Criação de ID: 20090621-0832)
Eu estou perguntando se alguém sabe como consertar isso, ou pelo menos como ligar melhor registro (ou seja, a captura de toda a saída do console para um registro, de modo que eu possa dar uma olhada na primeira consola que pisca para cima na minha tela por um milissegundo)
Obrigado!
Solução 2
Meu chefe encontrou a resposta:
Parece que as tags
“<property>”
no arquivo jnlp são mais restritivas com o novo JRE. De acordo com Sun documentação :“Para uma aplicação não confiável, sistema de propriedades definidas na vontade arquivo JNLP só pode ser definido por Java Web Start, se eles são consideradas seguras, ou se o nome da propriedade começa com "jnlp." ou "javaws". “.
Parece que o estado não confiável faz com que o aplicativo para iniciar um segundo tempo, com o adequado Propriedades.
depois de recompilar e fixação de um problema espero alheios, onde novas linhas foram fazendo com que o APPLICATION.JNLP assinado eo launch.jnlp não parecem ser "o mesmo", o depurador está trabalhando agora.
Outras dicas
Este blog tem variáveis ??de ambiente você pode definir a jnlp depuração. Isso sempre funcionou para mim.
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