2010-10-12 2 views
1

Je tente de placer un projet GWT Eclipse dans un fichier Bundle-Jar. Pour cela, je dois ajouter le dossier de guerre à l'ensemble. Le problème est que le compilateur GWT ajoute tous les fichiers * .class dans le dossier war/WEB-INF/classes. BND essaie d'ajouter tous les fichiers * .class dans le fichier jar, mais ils sont sur le mauvais chemin dans le projet. C'est le problème! Ainsi, je cherche l'attribut Include-Resource: dans mon fichier BND.Exclure les sous-répertoires d'un ensemble; Include-Resource au fichier BND

Y at-il quelqu'un qui a une idée de qui je peux exclure des fichiers spéciaux d'une expression Include-Resource.

Cela fonctionne si je supprime chaque fois le sous-dossier classes. Mais après quelques secondes, le SDK GWT générera ces classes.

Merci beaucoup

Sebastian

Répondre

0

S'il vous plaît vérifier: http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html#ApacheFelixMavenBundlePlugin%28BND%29-Instructions:

< Export-Package > ... il est possible d'exclure les paquets en utilisant la négation en commençant le modèle de package avec '!'. Ainsi, motifs non-niés indiquent lequel des paquets disponibles à inclure dans le faisceau, tandis que les modèles niés indiquent lesquels ne devraient pas être inclus dans le faisceau.

Vous pouvez également vérifier ce projet: "http: //bitbucket.org/MikhailKotelnikov/projecttemplate". C'est un modèle pour une application OSGi/GWT simple. Ici, je fais la compilation/emballage de toutes les classes dépendant de GWT, comme d'habitude, mais j'ai ajouté les instructions suivantes pour l'outil BND:

DynamicImport-Package: * 
Import-Package: *;resolution:=optional 

Dans ce cas BND estime que ces paquets seront fournis par le environmet OSGi à l'exécution et il fait le travail correctement.

+1

Je déconseillerais vraiment d'utiliser ces deux instructions. DynamicImport-Package vous permet en fait d'aspirer n'importe quel paquet disponible dans le framework, et c'est vraiment quelque chose qui ne devrait être utilisé que lorsque toutes les autres méthodes échouent. L'ajout de résolution est facultatif à vos importations est tout aussi délicat, ici vous dites: "hé, je peux courir avec ou sans ces paquets, mon paquet traitera de cela" quand je soupçonne que dans votre cas, si ces importations ne peuvent pas être résolu, le code échouera avec les exceptions de classe non trouvées. –

Questions connexes