Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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/

10 réponses

1 2
Avatar
TestMan
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


L'avantage d'en avoir plusieur est d'être modulaire.

Qu'est-ce qui vous pose problème d'avoir plusieur jar ?

A+
TM

Avatar
Ricoh51
TestMan a pensé très fort :
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


L'avantage d'en avoir plusieur est d'être modulaire.

Qu'est-ce qui vous pose problème d'avoir plusieur jar ?


Et bien j'aimerais n'avoir qu'un seul fichier à proposer en
téléchargement, sans avoir à tout mettre dans un zip ce qui oblige
l'utilisateur à dezipper avant de tester. Bref avoir l'équivalent d'un
exe sous windows ;)
Un autre avantage est pour une version applet de mon application, une
applet dans un seul jar c'est quand même plus agréable je trouve.
Voilà... est-ce possible?

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


Avatar
TestMan
TestMan a pensé très fort :
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


L'avantage d'en avoir plusieur est d'être modulaire.

Qu'est-ce qui vous pose problème d'avoir plusieur jar ?


Et bien j'aimerais n'avoir qu'un seul fichier à proposer en
téléchargement, sans avoir à tout mettre dans un zip ce qui oblige
l'utilisateur à dezipper avant de tester. Bref avoir l'équivalent d'un
exe sous windows ;)
Un autre avantage est pour une version applet de mon application, une
applet dans un seul jar c'est quand même plus agréable je trouve.
Voilà... est-ce possible?



Et pourquoi vous faites pas tout simplement une version webstart ?

Un simple lien a cliquer et l'application se démare sur le poste client :o)

Autres avantages :
- dispo en standard sur tous les Java SE 1.4+ : Windows, OSX, Linux, ...
- mise à jour automatique = controle des mise à jour des clients
- mise à jour incrémentale = optimisation de la bande passante utilisée
- gestion des extensions = réutilisation maximale des JAR existants
- service additionels (BasicService, Persistence, ... sans certificat
sur le poste client)

Et tout celà dans un cadre sécurisé pour le client !

Seul vrai défaut de webstart : le manque de comm de Sun à son sujet :(

A+
TM



Avatar
Ricoh51
TestMan avait énoncé :
TestMan a pensé très fort :
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


L'avantage d'en avoir plusieur est d'être modulaire.

Qu'est-ce qui vous pose problème d'avoir plusieur jar ?


Et bien j'aimerais n'avoir qu'un seul fichier à proposer en téléchargement,
sans avoir à tout mettre dans un zip ce qui oblige l'utilisateur à dezipper
avant de tester. Bref avoir l'équivalent d'un exe sous windows ;)
Un autre avantage est pour une version applet de mon application, une
applet dans un seul jar c'est quand même plus agréable je trouve.
Voilà... est-ce possible?



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
2. on ne peut pas utiliser des jar créés par quelqu'un d'autre

bon, je déduis de votre réponse qu'on ne peut pas tout mettre dans 1
seul jar??

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




Avatar
TestMan
TestMan avait énoncé :
TestMan a pensé très fort :
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


L'avantage d'en avoir plusieur est d'être modulaire.

Qu'est-ce qui vous pose problème d'avoir plusieur jar ?


Et bien j'aimerais n'avoir qu'un seul fichier à proposer en
téléchargement, sans avoir à tout mettre dans un zip ce qui oblige
l'utilisateur à dezipper avant de tester. Bref avoir l'équivalent
d'un exe sous windows ;)
Un autre avantage est pour une version applet de mon application, une
applet dans un seul jar c'est quand même plus agréable je trouve.
Voilà... est-ce possible?



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 :)

2. on ne peut pas utiliser des jar créés par quelqu'un d'autre


On peut utiliser autant de JAR que l'on veut, voir par exemple :
http://www.summitgroupware.com/summit/client/Summit.jnlp
utilisant AlloyLnF, Log4j, JAF ainsi que divers JAr de JBoss ...

Mais il est aussi possible d'utiliser directement des extensions (comme
par exemple Java3D) sans avoir à les héberger (et donc pas de soucis de
certificat), voir :
https://j3d-webstart.dev.java.net/example.html

bon, je déduis de votre réponse qu'on ne peut pas tout mettre dans 1
seul jar??


Non, simplement que ce n'est pas forcement la façon la plus adaptée pour
résoudre votre problème.

Si je ne me trompe, vous voulez simplement proposer à un utilisateur de
lancer simplement un application en se préocupant pas de la procédure
d'installation.

Rien ne vous empèche de mettre "tout" dans un seul .jar (un .jar est un
.zip avec simplement des meta informations supplémentaire, fusioner deux
zip ne pose donc aucun problème technique), mais c'est aussi étrange que
de faire une grosse appli windows et chercher "à tout prix" à caser
toute celà dans un .exe et refuser les DLL ... Sous windows, la méthode
favorite pour déployer dans votre contexte serait un .msi et sous java,
Webstart ;)

C'est standard, et existe depuis un bail ...

A+
TM





Avatar
Ricoh51
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

donc JWS ne convient pas dans mon cas :(


2. on ne peut pas utiliser des jar créés par quelqu'un d'autre


On peut utiliser autant de JAR que l'on veut, voir par exemple :
http://www.summitgroupware.com/summit/client/Summit.jnlp
utilisant AlloyLnF, Log4j, JAF ainsi que divers JAr de JBoss ...

Mais il est aussi possible d'utiliser directement des extensions (comme par
exemple Java3D) sans avoir à les héberger (et donc pas de soucis de
certificat), voir :
https://j3d-webstart.dev.java.net/example.html


ok c'est plus clair maintenant


bon, je déduis de votre réponse qu'on ne peut pas tout mettre dans 1 seul
jar??


Non, simplement que ce n'est pas forcement la façon la plus adaptée pour
résoudre votre problème.

Si je ne me trompe, vous voulez simplement proposer à un utilisateur de
lancer simplement un application en se préocupant pas de la procédure
d'installation.

Rien ne vous empèche de mettre "tout" dans un seul .jar (un .jar est un .zip
avec simplement des meta informations supplémentaire, fusioner deux zip ne
pose donc aucun problème technique), mais c'est aussi étrange que de faire
une grosse appli windows et chercher "à tout prix" à caser toute celà dans un
.exe et refuser les DLL ... Sous windows, la méthode favorite pour déployer
dans votre contexte serait un .msi et sous java, Webstart ;)


ok, oui vu comme ça, ça parait étrange... donc je voulais faire un truc
du genre "je place des dll que j'ai recupéré sur le net comme ressource
dans mon exe", ça ne fonctionnerait pas j'imagine

une dernière solution c'est de créer un installeur, je vais regarder de
ce coté

merci encore

eric

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



Avatar
TestMan
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 ...

A+
TM




Avatar
Ricoh51
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...

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





Avatar
TestMan
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)...

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

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

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







1 2