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.