Comment déboguer/log/trace un chargement de l'applet problème?
Récemment, deux de nos clients ont signalé des problèmes avec notre applets. En regardant le plugin java console il est plein de ClassNotFoundException de sorte qu'aucun de nos code est exécuté.
J'ai été capable de reproduire la trace de la pile à l'aide d'une image virtual pc avec 0 espace libre sur le disque, mais le problème disparaît comme je l'ai restaurer une partie de l'espace disque, et les utilisateurs me disent que leur disque n'est pas plein; ils sont capables de créer de nouveaux fichiers.
Notre applet nécessite java 6, et le problème est apparu avec les mises à jour de 1, 10 et 14 de la jre. Nous avons également essayé différents navigateurs (IE et Firefox), la compensation du navigateur et java caches, ...
Comment puis-je debug ou trace qu'est-ce que la jvm faire pour charger notre applet?
Je suppose que le problème se situe sur certains directive en matière de sécurité sur windows donc je suis en utilisant de Sysinternals Processus du Moniteur pour connecter l'activité mais je ne sais pas vraiment où regarder.
OriginalL'auteur Serxipc | 2009-07-23
Vous devez vous connecter pour publier un commentaire.
Le cache de Java est probablement foiré. Open Java dans le Panneau de Contrôle et de se débarrasser de tous les fichiers temporaires afin de voir si elle s'en va.
De journalisation de la Console Java pour le chargement des applets peuvent être activées qui aide tout à fait beaucoup (même si le plugin est très cryptique). Voir http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/tracing_logging.html
Ne nettoyer le cache de java aider vos utilisateurs?
Pas de. Nous avons déjà essayé de nettoyer le cache de java à partir du panneau de configuration java et la suppression de tous les jar_cache*.tmp fichiers à partir du répertoire temp. Je suppose que c'est un windows ou d'un réseau de sécurité de la directive, mais je ne sais pas par où continuer, donc je vais essayer d'obtenir un journal détaillé de ce qui se passe.
Si vous traitez avec l'signé fichiers jar (pour sortir de la sandbox) le certificat de la chaîne peut être rompu. J'ai regardé à l'intérieur de la JNLP lanceur code récemment et tout ce que vous pouvez obtenir sur la Console Java doit avoir été explicitement codé dans le lanceur. Je ne suis pas familier avec le nouveau plug-in de navigateur. Je dirais obtenir le code source du plugin que vous utilisez et d'apprendre exactement ce que la sortie d'enregistrement vous voir dire. Remarque: OpenJDK ne le fera PAS, que ces composants ne sont pas sous GPL.
OriginalL'auteur Thorbjørn Ravn Andersen
J'ai regardé le plugin source du JDK et j'ai trouvé qu'il existe des informations de débogage disponibles dans les journaux définition de la variable d'environnement
JPI_PLUGIN2_DEBUG
.Malheureusement, je n'ai encore que voir
ClassNotFound
exceptions.J'ai trouvé un morceau de le code du plugin qui avale toutes les exceptions, peut-être que mes utilisateurs problème est là...
OriginalL'auteur Serxipc
eu des problèmes similaires, il y a un moment. Dans notre cas, le problème semble être la façon dont la balise applet est mis en place sur la page web. Si elle est dans un mauvais ordre ou contient la
codebase
attribut, il échoue avec 6u10+. Cela fonctionne pour nous:Oui, si je change l'ordre de code et des archives, en quelque sorte 6u10 recherches pour le DMGanttApplet sur le serveur, et non pas dans l'archive fournie. Quelles classes sont manquants - qu'est-ce que la trace de la pile de votre erreur?
J'ai essayé votre suggestion avec les attributs de l'ordre, mais le problème persiste. La classe ne trouve pas dans la trace de la pile est celui qui est spécifié dans l'attribut code, donc rien n'est exécuté. Je peux voir dans le journal du serveur que le pot avec les classes est demandé. En fait, le pot est demandé autant de fois que applets il y a dans la page, mais lors de l'affichage de la page à partir d'un pc qui fonctionne, il est seulement demandé une fois.
Juste par curiosité, avez-vous utiliser ou essayer d'utiliser les codebase_lookup paramètre? java.sun.com/javase/6/docs/technotes/guides/plugin/... Tous nos applets exécuter avec ce paramètre est défini sur true, donc si le plugin ne peut pas trouver une classe ou d'une ressource, il n'a pas demande au serveur.
Non, puisque l'attribut de réorganiser et de la base de code param suppression a été suffisant pour obtenir des choses à travailler.
OriginalL'auteur akarnokd
Nous avons eu un problème similaire avec l'un de nos clients. Nous avons découvert que c'était un bug étrange dans certaines versions de Java liées à la configuration du proxy sur le client. Voir cet article pour plus de détails
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6723715
Aussi, notre applet a échoué avec de nouvelles versions pour une raison différente.
Maintenant, dans des cas semblables, je vous invite à vérifier javatester.org afin que je puisse voir si les applets (en général) de la charge OK dans leur navigateur. Si la page se charge OK, c'est un problème sur notre applet (ou de la page). D'autre, c'est un problème dans leur configuration. Je les aide quand même, mais c'est plus facile à déboguer.
OriginalL'auteur Gonfva