Problème de génération du JAR lors de l'empaquetage d'un module

Cyril DAVID · le 16/12/13 à 10:38

Bonjour,

J'ai constaté un comportement surprenant lors de l'empaquetage d'un module : il semblerait que le JAR contenant mes classes Java spécifiques soit corrompu, ce qui pose problème lors des appels aux méthodes de ces classes.

Ainsi, des erreurs m'indiquant que les classes et méthodes sont inconnues, me sont remontées par le serveur.

Si je génère le JAR manuellement, et que je remplace le JAR généré lors de l'empaquetage, tout est OK.

Est-ce que vous auriez une idée de la raison de ce comportement ?

Merci d'avance,

20 pts
Frédéric Touitou - le 16/12/13 à 12:24
Meilleure réponse

Votre dernière réponse explique le comportement que vous observez ; il faut en effet :

  • déclarer aussi et principalement le fichier ".class" dans cette section (à la rigueur, la présence du ".java" n'est pas nécessaire),
  • et surtout, mettre un "/" devant "WEB-INF" (ce qui permettra de ne pas placer ces fichiers dans le .jar ; dans le cas contraire en effet, la version initiale de la classe, présente dans le répertoire /WEB-INF/classes/custom, serait prioritaire par rapport à votre version stockée dans le .jar)

Ce qui donnerait donc dans votre cas :

  <webapp-files>
    <file path="/WEB-INF/classes/custom/monFichier.java" />
    <file path="/WEB-INF/classes/custom/monFichier.class" />
</webapp-files>

 

En espérant que cela permettra effectivement de débloquer votre situation,

Bien cordialement.

10 pts
Frédéric Touitou · le 16/12/13 à 11:58

Bonjour,

  • Quelle est la version de JCMS utilisée ?
  • Un .jar généré par l'empaquetage de module, est-il ouvrable via un utilitaire comme 7-Zip ou Winzip ?
    • Dans l'affirmative, contient-il bien l'ensemble des classes spécifiques, dans les bons répertoires (/WEB-INF/classes/...) ?

Bien cordialement.

1 pt
Cyril DAVID · le 16/12/13 à 12:05

Bonjour,

Il s'agit de JCMS PME Edition v2.2.

Le .jar généré par l'empaquetage de module est bien ouvrable via un utilitaire tel que 7-Zip.

En revanche, il ne contient que les fichiers JAVA (extension .java).

Petite précision, qui peut avoir son importance : les fichiers en question sont censés se trouver dans le répertoire WEB-INF\classes\custom.

Merci d'avance,

0 pt
Frédéric Touitou · le 16/12/13 à 12:08

Merci pour votre retour.

Comment avez-vous déclaré les fichiers en question dans le fichier plugin.xml ?

0 pt
Cyril DAVID · le 16/12/13 à 12:13

Les fichiers sont déclarés de la sorte :

<plugin>
    <webapp-files>
        <file path="WEB-INF/classes/custom/monFichier.java" />
    </webapp-files>
</plugin>
0 pt