OVH Cloud OVH Cloud

NetBeans, plusieurs jar

13 réponses
Avatar
Ricoh51
Bonjour,
je découvre Java, j'utilise NetBeans 5.5, et je ne comprends pas
comment les jar fonctionnent...
Mon projet utilise des jar que je n'ai pas construits moi même, lorsque
je fais un build sous NetBeans, j'obtiens monprojet.jar dans le
repertoire dist, et les autres jar utilisés sont placés dans le sous
repertoire lib de dist.
Bon, tout fonctionne bien mais j'aimerais mettre tous ces jar dans
monprojet.jar pour n'avoir qu'un fichier à déployer, et je n'y arrive
pas...
Quelle est la bonne technique svp?

merci d'avance

eric

--
http://ricoh51.free.fr/

3 réponses

1 2
Avatar
TestMan
TestMan avait prétendu :
TestMan a présenté l'énoncé suivant :

Et pourquoi vous faites pas tout simplement une version webstart ?


J'ai commencé par regardé de ce coté, mais :
1. il faut signer les jars


Pas obligé, uniquement nécessaire si vous avez besoin de stocker
des fichiers "automatiquement" (en dehors du "bac à sable" et des
boites classiques type ouverture et sauvegarde de fichiers).

Pour le stockage des préférences le service de persistence fera
l'affaire :)


effectivement, j'ai parlé trop vite... mais j'utilise la librairie
FreeHEP pour exporter des graphiques, et cette librairie provoque
une erreur de sécurité avec JavaWebStart :
Une application non signée demande un accès illimité au système
Ressource non signée :
http://ricoh51.free.fr/Vecto/lib/freehep-graphicsio.jar


Tu peux préciser quelle erreur (trace) ?

Histoire de voir si on peut trouver une soluce ...


je ne sais pas ce que c'est que "trace", mais lorsque je demande des
détails à JWS, sous l'onglet exception, il m'affiche :
JNLPException[category: Erreur de sécurité : Exception: null :
LaunchDesc:
<Là il affiche mon .jnlp>]
at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(Unknown
Source)
at com.sun.javaws.LaunchDownload.checkSignedResources(Unknown
Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

je ne sais pas être plus précis...



Testez sous JDK1.5 (si ce n'est pas déjà le cas)...


oui c'est le cas


Pouvez vous mettre un lien JNLP sur l'application qqe part pour qu'on
puisse tester le lancement en direct ?


http://ricoh51.free.fr/Vecto/Vecto.jnlp



Supprimez <all-permissions/> dans le .jnlp, et ça marchera nickel ;-)

A+
TM








Avatar
Ricoh51
TestMan avait prétendu :
TestMan a présenté l'énoncé suivant :

Et pourquoi vous faites pas tout simplement une version webstart ?


J'ai commencé par regardé de ce coté, mais :
1. il faut signer les jars


Pas obligé, uniquement nécessaire si vous avez besoin de stocker des
fichiers "automatiquement" (en dehors du "bac à sable" et des boites
classiques type ouverture et sauvegarde de fichiers).

Pour le stockage des préférences le service de persistence fera
l'affaire :)


effectivement, j'ai parlé trop vite... mais j'utilise la librairie
FreeHEP pour exporter des graphiques, et cette librairie provoque une
erreur de sécurité avec JavaWebStart :
Une application non signée demande un accès illimité au système
Ressource non signée :
http://ricoh51.free.fr/Vecto/lib/freehep-graphicsio.jar


Tu peux préciser quelle erreur (trace) ?

Histoire de voir si on peut trouver une soluce ...


je ne sais pas ce que c'est que "trace", mais lorsque je demande des
détails à JWS, sous l'onglet exception, il m'affiche :
JNLPException[category: Erreur de sécurité : Exception: null :
LaunchDesc:
<Là il affiche mon .jnlp>]
at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(Unknown
Source)
at com.sun.javaws.LaunchDownload.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

je ne sais pas être plus précis...



Testez sous JDK1.5 (si ce n'est pas déjà le cas)...


oui c'est le cas


Pouvez vous mettre un lien JNLP sur l'application qqe part pour qu'on
puisse tester le lancement en direct ?


http://ricoh51.free.fr/Vecto/Vecto.jnlp



Supprimez <all-permissions/> dans le .jnlp, et ça marchera nickel ;-)


:) oui ça marche mieux en effet, mais ce n'est pas encore le top :
lorsque j'essaie d'accéder au clipboard, j'obtiens une erreur de
securité :
Exception in thread "AWT-EventQueue-0"
java.security.AccessControlException: access denied
(java.awt.AWTPermission accessClipboard)

Le code responsable est :
Clipboard clipBoard = Toolkit.getDefaultToolkit().getSystemClipboard();

On peut tester ici http://ricoh51.free.fr/Vecto/Vecto.jnlp et cliquer
sur le menu Edit/Copy to clipboard

donc j'ai toujours des problèmes avec la securité :) merci quand même

eric

--
http://ricoh51.free.fr/









Avatar
TestMan
TestMan avait prétendu :
TestMan a présenté l'énoncé suivant :

Et pourquoi vous faites pas tout simplement une version
webstart ?


J'ai commencé par regardé de ce coté, mais :
1. il faut signer les jars


Pas obligé, uniquement nécessaire si vous avez besoin de stocker
des fichiers "automatiquement" (en dehors du "bac à sable" et
des boites classiques type ouverture et sauvegarde de fichiers).

Pour le stockage des préférences le service de persistence fera
l'affaire :)


effectivement, j'ai parlé trop vite... mais j'utilise la
librairie FreeHEP pour exporter des graphiques, et cette
librairie provoque une erreur de sécurité avec JavaWebStart :
Une application non signée demande un accès illimité au système
Ressource non signée :
http://ricoh51.free.fr/Vecto/lib/freehep-graphicsio.jar


Tu peux préciser quelle erreur (trace) ?

Histoire de voir si on peut trouver une soluce ...


je ne sais pas ce que c'est que "trace", mais lorsque je demande
des détails à JWS, sous l'onglet exception, il m'affiche :
JNLPException[category: Erreur de sécurité : Exception: null :
LaunchDesc:
<Là il affiche mon .jnlp>]
at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(Unknown
Source)
at com.sun.javaws.LaunchDownload.checkSignedResources(Unknown
Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

je ne sais pas être plus précis...



Testez sous JDK1.5 (si ce n'est pas déjà le cas)...


oui c'est le cas


Pouvez vous mettre un lien JNLP sur l'application qqe part pour
qu'on puisse tester le lancement en direct ?


http://ricoh51.free.fr/Vecto/Vecto.jnlp



Supprimez <all-permissions/> dans le .jnlp, et ça marchera nickel ;-)


:) oui ça marche mieux en effet, mais ce n'est pas encore le top :
lorsque j'essaie d'accéder au clipboard, j'obtiens une erreur de securité :
Exception in thread "AWT-EventQueue-0"
java.security.AccessControlException: access denied
(java.awt.AWTPermission accessClipboard)

Le code responsable est :
Clipboard clipBoard = Toolkit.getDefaultToolkit().getSystemClipboard();

On peut tester ici http://ricoh51.free.fr/Vecto/Vecto.jnlp et cliquer
sur le menu Edit/Copy to clipboard

donc j'ai toujours des problèmes avec la securité :) merci quand même

eric


Pour accéder à certaines fonctions protégées, vous avez des services
dans webstart "qui vont bien" ;)
(toujours dispo sans certification)

Faites un classe d'aide qui encaspule la "copie" et bascule sur :
http://java.sun.com/j2se/1.5.0/docs/guide/javaws/jnlp/javax/jnlp/ClipboardService.html
si vous êtes dans webstart ...

Bon code,
A+
TM










1 2