Forcer netbeans a generer un jar avec des lib externes

Forcer netbeans a generer un jar avec des lib externes - Java - Programmation

Marsh Posté le 08-10-2007 à 13:29:45    

Bonjour,
J'ai réalisé une midlet fonctionnant avec 3 jar externes.  
Je les ai ajouté dans Netbeans dans lib & resources ainsi que dans le classpath de ANT pour ne pas avoir de pb lors de ma compilation via le fichier build.xml
 
ça compile, mais le pb, c'est que ça n'inclue pas dans le jar généré les 3 jar externes. :(
et là c'est le drame du coup ...
 
avez vous une idée de ce que j'ai pu oublié de configurer pour dire a netbeans d'inclure ces jars à la compilation ?
Merci


---------------
>> Portfolio: www.MyDeclic.com
Reply

Marsh Posté le 08-10-2007 à 13:29:45   

Reply

Marsh Posté le 08-10-2007 à 15:00:25    

Je crois qu'il faut aussi lui ajouter ces jars dans la catégorie "run" des librairies du projet, tu auras alors dans ton dossier dist un dossier lib avec ces jars à l'intérieur et ils seront linkés dans le manifest
Si tu veux qu'ils soient dans le jar lui-même, crée un dossier lib dans le dossier src, celui-ci sera inclus dans le jar final et il faudra que tu modifies le manifest pour qu'il pointe au bon endroit (là je sais plus comment utiliser un jar dans un autre dans le classpath)


---------------
The Rom's, à votre service
Reply

Marsh Posté le 08-10-2007 à 15:06:23    

Je n'ai pas cette catégorie "Run"
 
Dans Lib & Resources je n'ai que:
"Bundled lib & resources" où j'ai défini le chemin des jar externes utiles. c'est bien pris en compte car lorsque je le supprime, netbeans me previent de suite dans le code que ça ne compile plus.
 
Autrement, dans les propriétés du projet, j'ai bien un champ "Running" mais il ne fait reference qu'à:
- emulator command line option
- the security domain
 


---------------
>> Portfolio: www.MyDeclic.com
Reply

Marsh Posté le 08-10-2007 à 15:54:58    

non, je voulais dire :
quand tu fais click droit sur ton projet puis propriétés, tu vois une fenetre avec plusieurs trucs dont la gestion des librairies. Il y a là des onglets. tu devrais en voir 4 : compilation, run, compilation-test, run-test (pour les tests JUnit), c'est là qu'il faut ajouter ta librairie à la fois dans compilation et run (et potentiellement dans les tests si besoin de certaines libs uniquement pour les tests)
moi j'ai ça avec netbeans 5.5.1 [:spamafote]


---------------
The Rom's, à votre service
Reply

Marsh Posté le 08-10-2007 à 16:08:14    

Je n'ai pas ces champs, bien que je cherche apres desesperement. je m'etonne de ne pas les trouver...
J'utilise pourtant la meme version de netbeans que toi, dans un projet j2me standard
 
http://www.imagup.info/images/06/1191855379_libnet.JPG


---------------
>> Portfolio: www.MyDeclic.com
Reply

Marsh Posté le 08-10-2007 à 16:19:29    

moi je te parle de ça :
http://img105.imageshack.us/img105/3459/propnetbeansvc9.jpg
en faisant click droit sur le projet complètement à gauche dans la fenêtre de base puis en choisissant "properties" [:spamafote]


---------------
The Rom's, à votre service
Reply

Marsh Posté le 08-10-2007 à 16:43:07    

J'ai effectivement cette fenetre, mais seulement pour des projets d'application WEB.
 
Dans mon cas, il s'agit d'une application embarquée, et je n'ai pas le meme panneau de propriété.  
 


---------------
>> Portfolio: www.MyDeclic.com
Reply

Marsh Posté le 09-10-2007 à 20:00:34    

tu ne peux pas inclure des jar dans une midlet.
par contre tu peux inclure des classes...
 
je crois me rappeler que dans une tâche ant, je sais plus laquelle, il extrait directement les bonnes classes de tes jar vers ton jar de destination.
Après netbeans j'en sais rien.
 
 :hello:  

Reply

Marsh Posté le 10-10-2007 à 10:40:42    

Pour preciser, j'utilise le ANT de J2ME Polish pour compiler mon appli.
 
Le manuel de l'appli precise que pour les librairies jar externe on peut:
 

Citation :

Integrating Binary Third-Party APIs
When a third-party API is available only in binary form, you can integrate it with the <libraries>
element of the <build> section in your build.xml script. This element can point to JAR or ZIP
files or to a directory containing third-party libraries (either JAR files, ZIP files, or classfiles).
When the libraries are situated in the ${polish.home}/import folder, only the names of the
libraries need to be given (instead of specifying the full path).


Dans mon ANT j'ai donc ajouté le chemin vers mes lib, mais lors du build, j'obtiens cette belle erreur de securité ANT:

Code :
  1. <build>
  2.                                     <libraries>
  3.                                              <library file="lib/malib1.jar"/>
  4.                                              <library file="lib/malib2.jar"/>
  5.                                     </libraries>
  6.                                      ...


Code :
  1. C:localWPMAbuild.xml:82: Unable to execute J2ME Polish task: org.netbeans.core.execution.ExitSecurityException: Exit from within execution engine, normal
  2. BUILD FAILED


Message édité par white-rabbit le 10-10-2007 à 10:41:24

---------------
>> Portfolio: www.MyDeclic.com
Reply

Marsh Posté le 10-10-2007 à 19:56:46    

J'ai retrouvé une option:
<libraryjar name="${JAR_CLASSES}"/>
 
dans la tâche proguard (obfuscation + packaging)
 
bon ça date de qq années mais il doit y avoir des équivalents ailleurs.


Message édité par wapcamer le 10-10-2007 à 19:58:10

---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 10-10-2007 à 19:56:46   

Reply

Marsh Posté le 10-10-2007 à 20:26:09    

j'ai trouvé la solution a mon pb.
dans les lib externes que j'importais, il y avait une version modifiée et adaptée de la jsr172. hors celle ci existant deja dans certain mobile, et surtout etant defini dans le profil de mon projet, ça faisait conflit à la compilation.
 
now it's good.
Merci a ceux qui m'ont proposé des idées.

Reply

Marsh Posté le 10-10-2007 à 23:22:40    

Bon c bizzarre parce que l'erreur indiquée, ExitSecurityException ne laisse pas penser à une double déf de classes, m'enfin si ça marche chez toi..... :jap:  
@+


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed