cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 2013
-
9 sept. 2011 à 13:51
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 2013
-
9 sept. 2011 à 16:05
Bonjour tout le monde,
encore un énième blocage dans mon développement java ^^
Comme l'indique le titre de ce topic j'ai cette erreur (NoClassDefFoundError) qui est levée lors de l'exécution de mon applet (contenu dans un jar). Pas de souci à la compil', il trouve bien la librairie (autre jar) contenant cette classe incriminée. Mais à l'exécution j'ai toujours ce souci.
J'ai essayé de copier la librairie dans mon propre paquetage, mais ça ne change rien (je regarde l'archive générée et j'y retrouve bien mes lib, ainsi que leur référence dans les fichiers du manifest).
Ma question est donc simple : "Oh ! mais qu'est-ce que quoi ?"
Merci d'avance pour votre aide, en restant à votre disposition pour plus de précision
PS : j'espère avoir mis ça dans la bonne catégorie
PS2 : oui, j'ai cherché sur le forum si le souci était déjà apparu chez d'autres. Oui c'est bien le cas, mais je n'ai rien pu tirer de ces topics (pas de réponse, réponse incomplète, problème différent ...).
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 9 sept. 2011 à 14:09
Salut, et déjà merci pour ta réactivité :)
Je suis sûr de mes dépendances car j'avais oublié un jar au début, et ça braillait dès la compilation (pour info il s'agit des librairies org.apache.xml contenues dans xmlsec-1.4.5.jar et nécessitant commons-logging-1.1.jar).
D'après un topic que je viens de trouver sur developpez.net il ne serait pas possible d'embarquer des jar externes de cette manière. S'offriraient alors à moi deux possibilités :
- "déjarer" mes libs et les intégrer à mon code : est-ce légal ? performant ?
- utiliser un logiciel spécifique (ex. One-JAR) : quid de ma signature sur mon jar "métier" ?
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020370 9 sept. 2011 à 15:28
Alors je ne vois pas vraiment ce qui peut causer ce problème, si tu trouves une solution, fais le nous savoir.
"déjarer" mes libs et les intégrer à mon code : est-ce légal ? performant ?
Au sujet de la légalité, ca dépend des libraires. Il faut consulter les licences associées. Mais ce n'est pas différent de placer le jar dans le build path et de le ré-empaqueter dans un jar executable (au niveau license).
Au niveau de la performance, c'est idem. Le jar est juste un .zip des classes.
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 9 sept. 2011 à 16:05
Outre la licence, la librairie "déjarée ne sera plus signée numériquement par apache, mais possédera un signature propre à mon certificat. C'est là qu'était ma question en fait (à vue de nez la fondation apache devrait laissé libre d'usage sa librairie).
Et pour la performance, je me suis encore mal exprimé ^^ J'entendais par là : mon jar ne sera-t-il pas trop lourd ? En effet il s'agit d'une applet qui devra donc transiter sur un réseau (*).
En tout cas merci pour cette aide prompte et précise.
Là j'ai implémenté cette soluce et ça fonctionne tout bien :)
(*) petite question en rab pendant que je t'ai sous la main ^^ Existe-t-il une convention sur la taille maximale d'une applet ? La mienne en est à 600ko et je trouve ça un poil gros. Et si je jar avec un taux de compression plus élevé, est-ce que le temps gagné au transfert ne sera pas perdu à la décompression côté client ? Dois-je me dire "maintenant tout le monde a une bonne bécane" ou "maintenant tout le monde a une bonne connexion" ? ^^