Il est parfois nécessaire de compiler un projet Java sur une machine dépourvue de tout outil de programmation.
Je propose sur cette page un script batch (.bat) Windows (style MS-DOS) capable de chercher la meilleure version Java disponible sur la machine et de l’utiliser pour compiler automatiquement un projet Java complet.
Le projet Java doit respecter une certaine organisation :
Ce batch nécessite au minimum Windows 2000 (XP, Vista, ...).
JavaCompile.bat @echo off echo == Java batch compile by Alexandre Alapetite == echo == 2008-05-15 http://alexandre.alapetite.fr == rem Défini le chemin Java préféré rem set JAVA_HOME=C:\Program Files\Java\jdk1.6.0 if defined JAVA_HOME ( if exist "%JAVA_HOME%\bin\java.exe" goto foundJava ) rem Si le chemin préféré ne marche pas, cherche la meilleure version de Java disponible set JAVA_ROOT=%ProgramFiles%\Java\ if not exist "%JAVA_ROOT%\" set JAVA_ROOT=%SystemDrive%\Java\ if not exist "%JAVA_ROOT%\" set JAVA_ROOT=%HOMEDRIVE%\Java\ if not exist "%JAVA_ROOT%\" set JAVA_ROOT=%SystemDrive%\ echo Search Java JDK... for /F "usebackq delims==" %%f in (`dir "%JAVA_ROOT%jdk*" /B /O:-N`) do if not exist "%JAVA_HOME%\bin\java.exe" ( set JAVA_HOME=%JAVA_ROOT%%%f goto foundJava ) echo Search Java JRE... for /F "usebackq delims==" %%f in (`dir "%JAVA_ROOT%jre*" /B /O:-N`) do if not exist "%JAVA_HOME%\bin\java.exe" ( set JAVA_HOME=%JAVA_ROOT%%%f goto foundJava ) :foundJava if exist "%JAVA_HOME%\bin\java.exe" goto okJava echo Cannot find Java. Please install Java or edit %%JAVA_HOME%% path. goto end :okJava echo Java path "%JAVA_HOME%" "%JAVA_HOME%\bin\java.exe" -version rem Compile .\src\\*.java dans .\bin\\*.class en utilisant les librairies de .\lib\\*.jar subst m: %0\.. rem "%0\.." est le chemin réel du fichier batch pushd m: cd \ echo Search java sources in .\src\... dir src\*.java /B/S > javasrc.tmp~ if ERRORLEVEL 1 ( echo Cannot find Java source files in .\src\ goto abort ) echo Search jar libraries in .\lib\... if exist lib dir lib\*.jar /B/S > javalib.tmp~ echo Compile in .\bin\... if exist bin rmdir /S /Q bin mkdir bin if exist lib ( echo on @"%JAVA_HOME%\bin\javac.exe" -d bin -classpath @javalib.tmp~ @javasrc.tmp~ @echo off ) else ( echo on @"%JAVA_HOME%\bin\javac.exe" -d bin @javasrc.tmp~ @echo off ) echo Done. :abort del javasrc.tmp~ if exist lib del javalib.tmp~ popd subst m: /d :end set JAVA_ROOT= echo on
%0\..
Ce contenu est protégé par une licence
Creative Commons Paternité - Partage des Conditions Initiales à l’Identique 2.0 France "BY-SA (FR)"