You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
partner_project/src/run.bat

79 lines
2.1 KiB

@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
:: 设置路径
set JAVA_FX_PATH=javafx-sdk-17.0.16\lib
set MAIL_JAR=referenced-lib\activation-1.1.1.jar
set ACTIVATION_JAR=referenced-lib\javax.mail-1.6.2.jar
:: 检查必要的 JAR 文件
if not exist "%MAIL_JAR%" (
echo 错误: 找不到 %MAIL_JAR%
echo 请确保 JavaMail JAR 文件存在于 lib 文件夹中
pause
exit /b 1
)
if not exist "%ACTIVATION_JAR%" (
echo 警告: 找不到 %ACTIVATION_JAR%,尝试继续编译...
)
:: 清理并创建输出目录
if exist out rmdir /s /q out
mkdir out
:: 构建类路径
set CLASSPATH=%MAIL_JAR%
if exist "%ACTIVATION_JAR%" set CLASSPATH=%CLASSPATH%;%ACTIVATION_JAR%
echo 类路径: %CLASSPATH%
echo.
:: 编译项目
echo 正在编译项目...
javac -d out --module-path "%JAVA_FX_PATH%" --add-modules javafx.controls,javafx.fxml ^
-cp "referenced-lib\activation-1.1.1.jar;referenced-lib\javax.mail-1.6.2.jar" ^
auth\AuthService.java ^
auth\User.java ^
auth\UserManager.java ^
generator\HighGenerator.java ^
generator\MiddleGenerator.java ^
generator\PrimaryGenerator.java ^
generator\Problem.java ^
generator\ProblemGenerator.java ^
service\ExamService.java ^
ui\ExamController.java ^
ui\LoginController.java ^
ui\MainApplication.java ^
ui\ModifyPasswordController.java ^
ui\RegisterController.java ^
util\EmailService.java ^
util\ExpressionUtils.java ^
util\FileUtils.java ^
util\ModifyUtils.java ^
Main.java
if !errorlevel! neq 0 (
echo.
echo 编译失败!
echo 请检查:
echo 1. JavaFX 路径是否正确: %JAVA_FX_PATH%
echo 2. JAR 文件是否存在: %CLASSPATH%
pause
exit /b 1
)
:: 复制资源文件
echo 正在复制资源文件...
xcopy fxml out\fxml /E /I /Y >nul 2>&1
copy user.txt out\user.txt >nul 2>&1
:: 运行项目
echo 正在启动应用程序...
java --module-path "%JAVA_FX_PATH%" ^
--add-modules javafx.controls,javafx.fxml ^
-cp "out;%CLASSPATH%" ^
-Dfile.encoding=UTF-8 ^
Main