Files
Projet-Dev/Generer-Portable-EXE.bat
2026-03-28 17:48:54 +01:00

51 lines
1.3 KiB
Batchfile

@echo off
setlocal
cd /d "%~dp0"
set "APP_NAME=jeu"
set "OUTPUT_DIR=%~dp0.."
echo [INFO] Nettoyage...
if exist build rmdir /s /q build
if exist "%OUTPUT_DIR%\%APP_NAME%" rmdir /s /q "%OUTPUT_DIR%\%APP_NAME%"
mkdir build\classes
mkdir build\jpackage-input
echo [INFO] Compilation Java...
javac --release 24 -cp "lib/*;." -d build\classes linea\*.java
if errorlevel 1 (
echo [ERREUR] Compilation echouee.
pause
exit /b 1
)
echo Main-Class: linea.LineaAppli> build\MANIFEST.MF
echo.>> build\MANIFEST.MF
echo [INFO] Creation du JAR principal...
jar cfm build\jpackage-input\Linea.jar build\MANIFEST.MF -C build\classes .
if errorlevel 1 (
echo [ERREUR] Creation du JAR echouee.
pause
exit /b 1
)
copy /y lib\*.jar build\jpackage-input\ >nul
echo [INFO] Generation de l'executable portable (sans installation)...
jpackage --type app-image --name %APP_NAME% --input build\jpackage-input --main-jar Linea.jar --main-class linea.LineaAppli --dest "%OUTPUT_DIR%" --add-modules java.base,java.desktop,java.sql,java.logging,jdk.unsupported --java-options "--enable-native-access=ALL-UNNAMED"
if errorlevel 1 (
echo [ERREUR] Echec de la generation.
pause
exit /b 1
)
if exist build rmdir /s /q build
echo [OK] Executable pret: ..\%APP_NAME%\%APP_NAME%.exe
echo [OK] Double-clique directement ce fichier (pas d'installation).
pause
endlocal