web-dev-qa-db-fra.com

Je ne parviens pas à lancer des applications JNLP avec "Java Web Start"?

Jusqu'à récemment, je pouvais lancer/ouvrirJNLPdes fichiers dans Firefox à l'aide de Java web start .

Je ne sais pas ce qui est arrivé tout à coupJNLPles fichiers ont cessé de se lancer, un écran de démarrage s'affiche avec le message Java Démarrage ... et rien ne se passe. Même le Java Console dans le navigateur et javacpl.cpl applet ne s'ouvre pas.

Essayé toutes les possibilités: supprimé toutes les versions antérieures et installé la dernière version de JRE (version Java "1.6.0_17"), mais cela ne fonctionne toujours pas.

Après avoir fait quelques recherches sur Google pour résoudre ce problème, des personnes ont suggéré de démarrer javaws.exe avec -viewer option mais le même comportement (un écran de démarrage apparaît avec le message "Démarrage Java ..." puis disparaît)

Le problème est que je ne connais pas d’endroit (journaux, etc.) dans lequel rechercher la cause du problème.

J'utilise WinXP SP3 et certaines des captures d'écran ci-dessous montrent des informations supplémentaires sur mon système. Je peux fournir d'autres détails si nécessaire, mais aidez-moi, s'il vous plaît, à résoudre ce problème.

19
akjain

Bien que cette question soit un peu ancienne, le problème a été provoqué par le paramètre de registre ClearType corrupted et a été résolu en le corrigeant, comme décrit dans le ClearType, install4j et le cas de Java bug post.

ClearType, install4j et cas de bogue Java Java 

Vous savez quoi ClearType (technologie de lissage des polices sous Windows) a en commun avec Java (langage de programmation et l'un des frameworks recommandés)?

Rien sauf qu'ils travaillaient ensemble dur pour me rendre misérable pendant quelques mois. J'avais un logiciel Java que je ne pouvais pas installer. Je veux dire, je ne pourrais vraiment pas - même pas comprendre la raison ou reproduisez-le sur un autre PC.

Récemment, j'ai été approuvé pour la version bêta de Woopra (service d'analyse de site) et il utilise un client de bureau écrit en Java… Je n’ai pas pu l’installer. Cela a eu moi vraiment en colère. :)

Story Tous les logiciels en question étaient similaires:

configuration basée sur install4j; installation en plantant avec un tas d'erreurs. J'étais blâmer install4j au début (une centaine) de tentatives de résolution problème. Plus tard, j'ai lentement compris que si c'était le cas, ce bug long time - solution aurait été créé et googlé.

Traçage Après avoir déplacé focus d’install4j, j’ai décidé de pousser Java cadre. J'essayais plus tôt des versions stables, alors j'ai décidé de choisir version non stable 1.6 Update 10 Release Candidate.

Cela corrigeait les messages d'erreur mais ne provoquait pas de crash. J'avais aussi remarqué qu’un nouveau journal des erreurs a été créé dans le répertoire avec les fichiers d’installation . Auparavant, je n'avais vu que les journaux dans le répertoire temporaire Windows.

Le nouveau journal des erreurs disait ce qui suit:

Impossible d'afficher l'interface graphique. Cette application a besoin d'accéder à un X Serveur. Si vous y avez accès, il manque probablement une bibliothèque X . ************************************************* ****************** Vous pouvez également exécuter cette application en mode console sans accès à un Serveur X en passant l'argument -c Très étrange de rechercher X-Server sur PC non-Linux, n'est-ce pas? J'ai donc décidé d'essayer cet argument «-c». Et était effectivement capable d'installer en mode console.

Fin heureuse? Nan. L'application installée maintenant se bloquait. Mais ça a vraiment eu moi pensant. Si la console fonctionne mais que l’interface graphique ne l’est pas - là doit être un problème avec ce dernier.

Un autre journal des erreurs (dans le dossier de l’application) disait maintenant (entre autres choses ):

Causée par: Java.lang.IllegalArgumentException: -60397977 incompatible avec la touche de contraste LCD spécifique au texte qui m'a googé avec succès description du bogue avec Java incapable de lire ClearType non standard paramètre de registre.

Solution J'ai immédiatement lancé ClearType Tuner à partir du Panneau de configuration et paramètre trouvé indiquant le numéro de charabia. Après l'avoir corrigé correctement un tous les problèmes avec Java ont instantanément disparu.

cleartypetuner_screenshot Leçons apprises Ne blâmez pas rapidement problèmes logiciels sur une seule application. Même mineur et totalement Des paramètres indépendants peuvent déclencher des réactions en chaîne mortelles. Liens Jave Environnement d'exécution http://www.Java.com/en/download/index.jsp

ClearType Tuner http://www.Microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx

Woopra http://www.woopra.com/

install4j http://www.ej-technologies.com/products/install4j/overview.html

3
akjain

Examinez ce qui se passe si vous exécutez javaws.exe directement à partir de la ligne de commande. 

9

Je sais que c’est une question plus ancienne, mais la semaine dernière, j’ai commencé à avoir un problème similaire. Je laisse donc ici quelques notes concernant la solution qui me convient.

Cela ne s'est produit que sur certaines machines Windows utilisant même le dernier JRE à ce jour (1.8.0_45).

Java Web Start a commencé à se charger, mais rien ne s’est produit et aucune des tentatives de solution précédentes n’a fonctionné.

Après quelques recherches, j'ai trouvé ce fil qui donne la même configuration et une bonne explication.

https://community.Oracle.com/thread/3676876

Donc, en conclusion, c’était un problème de mémoire dans JRE x86 et, comme le segment de mémoire maximal de notre JNLP était défini à 1024 Mo, nous sommes passés à 780 Mo comme suggéré et le problème a été résolu.

Cependant, si vous avez besoin de plus de 780 Mo, vous pouvez toujours essayer de lancer une version JRE x64.

9
hpereira

j'ai eu le même problème ici. accédez à votre panneau de configuration et à vos paramètres Java ... décochez la case "Conserver les fichiers Internet temporaires sur mon ordinateur". Appliquez les modifications et essayez à nouveau votre .jnlp 

Remarque: Testé sur différentes machines. Windows Server 2012, Windows Server 2008 et Windows 7 64 bits. Version Java: 1.7 ++ depuis que mon application jnlp est construite sur 1.7

S'il vous plaît laissez-moi savoir vos commentaires aussi. :RÉ

7
nairb

Je faisais également face au même problème. Pour résoudre cela aux étapes suivantes.

  1. ouvrez Javaws à partir de la commande cmd runnig javaws -viewer. Une nouvelle fenêtre s'ouvrira
  2. Sélectionnez le fichier jnlp que vous souhaitez et cliquez sur le bouton Exécuter.
  3. Fermez la fenêtre de visualisation javaws.
1
Sumith08

Si javacpl ne s'ouvre pas et vous donne Impossible de trouver la classe principale:, il est possible que Java soit perturbé en raison de modifications apportées dans deployment.properties (disponible dans C:\Users\<username>\AppData\LocalLow\Sun\Java\Deployment on Win7). Supprimez ce fichier et tout va bien.

Ce bug semble avoir 6 ans, cf . Une application doit pouvoir ignorer les propriétés devenues obsolètes au fil du temps, n'est-ce pas?

1
Bob Lauer

Est-ce une application à laquelle vous avez le code? Java 6u14 a modifié la manière dont il gère la sécurité des fichiers jar, ce qui a causé des problèmes très similaires pour nous. Si vos fichiers JAR sont signés et fonctionnent avec Java 6u13 ou version ultérieure, vous pouvez envisager de refactoriser votre code afin de contourner cette mise à jour ou nécessitant Java 6u13 ou une version ultérieure. Malheureusement, je ne me souviens pas exactement de ce que nous avons fait pour résoudre le problème - c'était le mode panique à l'époque.

Encore une fois, si vous avez le code, vous avez des outils pour travailler. Vous pouvez insérer des instructions System.out.println dans vos routines de démarrage. Toute sortie de la console est affichée dans la fenêtre de commande lorsque vous exécutez JNLP à partir de la ligne de commande. Sinon, vous pourriez envisager d’utiliser un enregistreur Nice comme log4j pour avoir une meilleure idée du point de défaillance.

Vous pouvez également envisager de supprimer entièrement l'application et de la télécharger à nouveau. Java Web Start contient un applet du panneau de configuration qui vous permet de voir l’URL depuis laquelle votre application est téléchargée (peut-être l’erreur), de désinstaller l’application, de définir des options de sécurité, etc.

0
spork

Dans mon cas, le problème était dû au démarrage de mon application à partir d’un raccourci sur le bureau public (Windows 7). En conséquence, pour autant que je sache, l'emplacement des fichiers temporaires a été défini sur c:\users\public\etc. Cela a entraîné l'impossibilité d'écrire dans le détail du cache. Lorsque je réinitialisais les valeurs par défaut dans l'applet de contrôle des fichiers temporaires, tout fonctionnait correctement.

0
Rick

Cela peut également être dû à la variable d’environnement CATALINA_HOME dans votre système. Dans notre organisation, il y a eu plusieurs cas où des applications JNLP ont simplement refusé de démarrer sans rien enregistrer ni vider CATALINA_HOME, ce qui a résolu le problème.

J'avais la variable d'environnement définie dans la commande Invite et elle n'apparaissait pas dans l'interface graphique. Je ne sais pas si la commande setx ou les commandes de suppression de registre ont fait l'affaire. Le redémarrage semble être nécessaire après avoir supprimé la variable.

0
Marc.S

J'ai eu exactement le même problème. Il s'est avéré que la taille maximale de segment de mémoire était définie sur 1024 et que l'unité manquait. La configuration devait être max-heap-size = 1024 m .

Donc, apparemment, une configuration de mémoire non valide dans le fichier jnlp provoquera ce comportement exact.

0
Bech

Dans mon cas, Netbeans crée automatiquement un fichier .jnlp qui ne fonctionne pas et mon problème était dû à un écrasement accidentel du fichier launch.jnlp sur le serveur (par la version inadéquate et incorrecte de Netbeans). Cela entraînait une incompatibilité entre le fichier .jnlp local et le fichier .jnlp distant, ce qui entraînait l'arrêt immédiat de Java Web Start après "Vérification de l'application".

Donc, personne d'autre n'a à perdre une heure à trouver un bogue qui devrait être communiqué correctement (mais ne l'est pas) par Java WS.

0
ryvantage