Local de remplacement de fichier JNLP?
Essayez comme je pourrais, je ne peux pas obtenir un fichier JNLP pour exécuter localement (via un double-clic). Il semble être un problème de localisation d'un fichier jar, même quand je le spécifier par rapport au fichier jnlp. J'obtiens l'erreur suivante:
Le champ <jar>a href invalide
valeur: helloworld.jar
Cela se produit même lorsque le fichier JNLP est dans le même dossier que helloworld.jar. J'ai fait des recherches et c'est un problème logique, surtout pour les personnes qui veulent package d'une application sur un CD et d'utiliser JNLP. Le seul Soleil, à condition de "solution" est la possibilité de spécifier la base de code via la ligne de commande, mais qui n'a pas vraiment d'une grande aide. Je ne comprends pas pourquoi ils n'ont pas d'assumer ou de permettre la base de code "." ou "file://." - J'ai essayé ces sortes de choses dans le paramètre codebase de la jnlp balise (dans le fichier) et rien n'a fonctionné.
Il est extrêmement pratique pour moi d'utiliser un fichier JNLP parce que je n'ai pas besoin de vous inquiéter de la plate-forme de détection, de bibliothèques natives, ni même le principal, JOGL fichiers jar, j'ai tout simplement inclure cette ligne et tout est fait pour moi:
<extension name="JOGL" href="http://download.java.net/media/jogl/builds/archive/jsr-231-2.0-beta10/webstart/jogl-all-awt.jnlp" />
Je suis l'espoir de trouver quelque chose qui peut faire le même genre de chose. Si non, je peux manuellement (ou avec Ant) saisir le JOGL fichiers jar, c'est pas une grosse affaire; juste une de ces choses qui JNLP pour moi et je vais vraiment manquer.
Quelle est la meilleure alternative pour les fichiers JNLP, pour moi de l'utiliser localement (c'est à dire double-cliquez dessus pour le lancer)? Est-il rien de si élégant ou dois-je juste besoin d'écrire un script shell pour Linux, un fichier batch pour Windows, et ont Ant de détecter et télécharger la bonne JOGL de pots?
OriginalL'auteur Ricket | 2010-01-09
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé un .fichier jnlp de ce genre pour lancer logiciel Java Web Start localement
spécifier la base de code comme ceci:
<jnlp spec="1.0+" codebase="file://localhost/X:/path/to/jnlp/" href="software.jnlp">
liste de ressources avec des chemins relatifs:
<resources>
<jar href="lib/software.jar" main="true" />
<jar href="lib/softwareLibrary.jar" main="true" />
...
</resources>
et dire finalement le Web Début où il peut trouver le logiciel de point d'entrée à l'intérieur du bocal marqué avec
main="true"
:<application-desc main-class="com.example.Main" />
La seule chose que vous avez besoin de changer lors du déploiement à distance est le paramètre codebase.
Non, mais le localhost, c'est encore nécessaire. Ne fonctionne pas sans elle, fonctionne si vous le mettez dans. M'a pris une demi-journée pour découvrir 🙂
C'est vraiment cool. Je souhaite que vous étiez autour de retour en janvier, quand j'ai été déconner avec ça. Puisque c'est la réponse que je cherchais, je suis passer de la accepté de répondre à vous. 🙂
Aussi, vous pouvez lancer localement en laissant la
codebase
attribut. C'est maintenant optionnel: download.oracle.com/javase/6/docs/technotes/guides/javaws/...Pour moi, cela n'a travaillé que quand j'ai changé le code de base: file:///X:/chemin/vers/jnlp/ (donc trois barres obliques, puis la lettre de lecteur)
OriginalL'auteur Riku Lindblad
Seulement de supprimer les attributs
codebase
ethref
dejnlp
tag.C'est pris en charge depuis java 1.6u18.
OriginalL'auteur Daniel De León
Le JNLP système a été amélioré avec Java 6 update 10 (un temps) mais il est encore assez difficile à déboguer (permettant ainsi le suivi dans la Console Java, et pas à pas à travers les javaws code source.
Dans votre situation, je voudrais aller le mile supplémentaire et obtenir de travailler. Peut-être vous fournir une JNLP-dossier présentant le problème?
OriginalL'auteur Thorbjørn Ravn Andersen
Utiliser un manifeste pour votre bocal. Vous pouvez y définir la classe principale pour démarrer et les bibliothèques requises. Voir le Principal de la classe et de la Classe arguments chemin dans le manifeste de la spécification.
Oui. Voir aussi: java.sun.com/javase/6/docs/technotes/guides/jar/index.html
Je ne crois pas Manifeste.MF permet de spécifier l'emplacement des bibliothèques natives.
Je n'ai pas d'avis que l'utilisation de bibliothèques natives était nécessaire, mais de toute façon, avec le manifeste de l'attribut ce devrait être gérable par la fourmi à fournir de la plate-forme de dépendances/packages.
OriginalL'auteur Daniel Hiller
JNLP est conçu pour le réseau de lancement (en particulier http(s)) et sans un réseau à l'implémentation de Java doit être vraiment confus. Même les projets matures comme eclipse coller avec le .sh,.bat option.
OriginalL'auteur whatnick
Comme dhiller l'indique, l'ajout d'un manifeste pour votre BOCAL permet aux utilisateurs d'exécuter à partir d'une copie physique sans avoir accès au réseau. En outre, au lieu de fournir une
.jnlp
qui pointe vers un local JAR, comprennent une.jnlp
que les liens vers votre site web. Qui permettra aux utilisateurs d'exécuter la dernière et meilleure version de votre programme et de facilement installer un raccourci pour référence future.OriginalL'auteur trashgod