From d627b19976c9bfdf16878d1e8dcdc74cc5f5ad73 Mon Sep 17 00:00:00 2001 From: zhangjf Date: Tue, 24 Feb 2026 18:09:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E6=89=93=E5=8C=85?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=EF=BC=8C=E7=94=9F=E6=88=90=E7=98=A6JAR?= =?UTF-8?q?=E5=92=8C=E5=88=86=E7=A6=BB=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 禁用 spring-boot-maven-plugin 的 repackage - 配置 maven-jar-plugin 指定主类 - assembly.xml 只输出 tar.gz 格式 - 应用 JAR (97KB) 只包含业务代码 - 依赖 JAR (87个) 单独打包到 lib 目录 - 更新 start.sh 使用 -cp 方式启动 - 更新 .gitignore 忽略打包输出 --- .gitignore | 1 + deploy/scripts/start.sh | 9 ++++++-- worklog-api/pom.xml | 27 +++++++++++++++++----- worklog-api/src/main/assembly/assembly.xml | 23 +++++++++++++----- 4 files changed, 46 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 36367b9..d077024 100644 --- a/.gitignore +++ b/.gitignore @@ -58,6 +58,7 @@ db_backup/ # ==================== Assembly 打包输出 ==================== deploy/worklog-api/ +deploy/worklog-api.tar.gz # ==================== 上传文件 ==================== uploads/ diff --git a/deploy/scripts/start.sh b/deploy/scripts/start.sh index e37bd42..76065c5 100755 --- a/deploy/scripts/start.sh +++ b/deploy/scripts/start.sh @@ -8,6 +8,10 @@ APP_NAME="worklog-api" APP_JAR="worklog-api-1.0.0.jar" APP_HOME="/opt/worklog/${APP_NAME}" APP_JAR_PATH="${APP_HOME}/lib/${APP_JAR}" +MAIN_CLASS="com.wjbl.worklog.WorklogApplication" + +# Classpath 配置(lib 目录下所有 JAR + conf 目录) +CLASSPATH="${APP_HOME}/lib/*:${APP_HOME}/conf" # 配置文件加载函数 load_properties() { @@ -83,10 +87,11 @@ fi # 启动应用 echo "=========================================" echo "启动应用: ${APP_NAME}" -echo "JAR 文件: ${APP_JAR_PATH}" +echo "主类: ${MAIN_CLASS}" +echo "Classpath: ${CLASSPATH}" echo "=========================================" -nohup java ${JVM_OPTS} -jar "${APP_JAR_PATH}" ${SPRING_OPTS} \ +nohup java ${JVM_OPTS} -cp "${CLASSPATH}" ${MAIN_CLASS} ${SPRING_OPTS} \ > "${CONSOLE_LOG}" 2>&1 & PID=$! diff --git a/worklog-api/pom.xml b/worklog-api/pom.xml index 72c0bd5..a7706b1 100644 --- a/worklog-api/pom.xml +++ b/worklog-api/pom.xml @@ -112,16 +112,31 @@ + org.springframework.boot spring-boot-maven-plugin + + + repackage + none + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.3.0 - - - org.projectlombok - lombok - - + + + true + lib/ + com.wjbl.worklog.WorklogApplication + + diff --git a/worklog-api/src/main/assembly/assembly.xml b/worklog-api/src/main/assembly/assembly.xml index 7859f7b..85db144 100644 --- a/worklog-api/src/main/assembly/assembly.xml +++ b/worklog-api/src/main/assembly/assembly.xml @@ -5,26 +5,27 @@ dist - dir + tar.gz - - false + + true worklog-api - + ${project.build.directory} lib - *.jar + ${project.build.finalName}.jar *-sources.jar *-javadoc.jar + *.original @@ -42,7 +43,7 @@ unix - + ${project.basedir}/src/main/resources conf @@ -57,4 +58,14 @@ + + + + lib + false + true + runtime + + +