[ANT] Compilation et exécution du projet : pb de repertoire racine

Compilation et exécution du projet : pb de repertoire racine [ANT] - Java - Programmation

Marsh Posté le 05-05-2004 à 19:15:46    

Alors :  
 
g un projet dont l'arbo est la suivante :  

Code :
  1. * SRC
  2.    - gui
  3.    - etc...
  4. * BUILD
  5.    - CLASSES
  6.        - GUI
  7.            - GuiApplication (contient le main)
  8.        - Etc...
  9.    - LIB
  10.        - divers jar nécessaires
  11.    - IMAGES
  12.        - splashscreen.jpg
  13. build.xml


 
Le ANT compile les trucs dans src, et balance le résultat dans classes.
Le main est donc dans /build/classes/gui/ et s'appelle GuiApplication
 
le main appelle un splashscreen (oui je sais, mais on me l'impose) en y faisant référence par "images/splashscreen.jpg"
 
Hors g une erreur qui prouve que l'image n'est pas trouvée. Pourtant j'ai spécifié dans le classpath de la tache java /build, /build/images, et /build/lib.
 
Le projet fonctionne très bien si le le lance depuis un batch placé dans build, avec exactement le même classpath.
 
D'autre part, le build.xml lance le projet si remplace l'appel à l'image par /build/images/splashscreen.jpg au lieu donc de images/splashscreen.jpg.
 
Ma question
   Comment faire pour que le build.xml lance java comme si il était lancé depuis /buiid ? sachant que je veux pas me retaper tt le code pour changer les appels, et sachant aussi que seuls le contenu de build sera diffusé, donc deviendra la racine du projet final...
 
g tt essayé : lancer dans un jvm forkée, spécifier dans le classpath de ant tt les chemins possibles de build, les mettre en relatif, en absolu, utiliser des propriétés, bref, je sais plus quoi faire.
 
G également essayé de faire un build.xml au niveau de build qui ne fait qu'executer le projet et g le même soucis : je pense que c'est parce que le "java" n'est pas appellé depuis build, mais depuis le rep d'ant, mais je sais pas comment faire.
 
Note : je débute sous ant, ne me flamez pas direct merci. c surement tout con, mais je vois pas ce qui chie dans mon classpath, sachant que tt les chemins du projet y sont...
 
Note : j'utilise pas l'attribut classpath de la tache java, mais un refid qui renvoit à une définition de path avec plein de pathelement
ca change rien, mais voilà
 
Je posterai le build dès que je peux, mais il se trouve que ma station de travail chie avec ma clé USB, et que donc je peux rien ramener pour le moment (et qu'on a tjs pas le net, super conditions de taf :( )...


Message édité par Jubijub le 06-05-2004 à 22:45:22

---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 05-05-2004 à 19:15:46   

Reply

Marsh Posté le 06-05-2004 à 22:27:50    

bon, g trouvé le truc : mon premier build.xml en appelle un second situé dans /build qui ne contient que la tache d'execution...


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 06-05-2004 à 22:56:02    

sinon:
http://ant.apache.org/manual/CoreTasks/java.html

Citation :

dir   The directory to invoke the VM in. (ignored if fork is disabled)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-05-2004 à 23:05:56    

je testerai pour le fun demain...en même temps le projet étant closed source, on ne va packager que le contenu de build/, à savoir classes + des libs externes...donc un build.xml à la racine de build n'est pas dénué de sens.
 
je v tester demain, je montrerai les 2 au boss, il jugera.


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 06-05-2004 à 23:08:59    

ouais, enfin, pour la distrib, c'est pas ideal de devoir avoir ant pour lancer le truc quoi...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 07-05-2004 à 18:44:23    

au final on fera un Jar...mais pour le débug c pas hyper utile de devoir compiler un jar...
 
-->ton truc marche, g donc 2 méthodes à montrer à mon boss lundi...


---------------
Jubi Photos : Flickr - 500px
Reply

Sujets relatifs:

Leave a Replay

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