2010-11-29 25 views
0

Je compile et exécute du code java sur une machine distante via ssh. Je code sur mon ordinateur portable, je m'engage dans un référentiel svn, puis je mets à jour la copie de travail à distance et recompile les fichiers sources mis à jour (les deux machines exécutent Linux). J'ai remarqué que si je change une instruction d'impression dans mon code, la sortie sur la télécommande ne changera pas. La source, cependant, est mise à jour correctement. Je soupçonne que le problème est avec mon script de compilation, qui est collé ci-dessous:Javac: changer * .java ne change pas * .class

cd $HOME/WindowsProfile/Desktop/torcs/versioned/anjiTest 
export MYCLASSPATH=$HOME/WindowsProfile/Desktop/torcs/versioned/anjiTest/properties 
for i in `ls $HOME/WindowsProfile/Desktop/torcs/versioned/anjiTest/lib/*.jar` 
do 
export MYCLASSPATH=${MYCLASSPATH}:${i} 
done 
MYCLASSPATH=${MYCLASSPATH}:$HOME/WindowsProfile/Desktop/torcs/versioned/anjiTest/build/classes 
MYCLASSPATH=${MYCLASSPATH}:$HOME/WindowsProfile/Desktop/torcs/versioned/anjiTest/properties 

echo $MYCLASSPATH 

pwd 
rm -R build/classes/* 

javac -sourcepath ./src/ -classpath $MYCLASSPATH ./src/A/*.java -d ./build/classes 
javac -sourcepath ./src/ -classpath $MYCLASSPATH ./src/B/*.java -d ./build/classes 
javac -sourcepath ./src/ -classpath $MYCLASSPATH ./src/C/*.java -d ./build/classes 

Mon application repose sur un grand nombre de bibliothèques externes, qui viennent en pot files- ceux-ci sont inclus dans le classpath. J'ai un accès physique à la machine distante et j'ai également remarqué que si je construis avec NetBeans 6.9, le même problème se produit de temps en temps.

Merci.

Répondre