diff --git a/assembly/assembly.xml b/assembly/assembly.xml index d187ce0..e80a788 100644 --- a/assembly/assembly.xml +++ b/assembly/assembly.xml @@ -48,13 +48,13 @@ - - - - lib - true - runtime + + + + ${project.build.directory}/${project.artifactId}.jar + / + ${project.artifactId}.jar 0644 - - + + diff --git a/scripts/start.sh b/scripts/start.sh index 3f24efa..776f8f3 100755 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -36,10 +36,22 @@ if [[ -z "${INSTANCE_NAME}" ]] || [[ "${INSTANCE_NAME}" == '\${APP_NAME}' ]]; th fi TENANT_ID=${TENANT_ID:-""} -# 4. JAR文件路径 -JAR_FILE=$(ls ${APP_HOME}/lib/*.jar 2>/dev/null | head -1) -if [ -z "$JAR_FILE" ]; then - echo "Error: No JAR file found in ${APP_HOME}/lib/" +# 4. JAR文件路径(优先查找根目录的主JAR,再查找lib目录) +# Spring Boot fat jar已包含所有依赖,主JAR在根目录 +JAR_FILE="${APP_HOME}/${APP_NAME}.jar" +if [ ! -f "$JAR_FILE" ]; then + # fallback: 查找lib目录(兼容旧版打包结构) + JAR_FILE=$(ls ${APP_HOME}/lib/${APP_NAME}*.jar 2>/dev/null | head -1) +fi +if [ ! -f "$JAR_FILE" ]; then + # 最后尝试: lib目录任意jar(向后兼容) + JAR_FILE=$(ls ${APP_HOME}/lib/*.jar 2>/dev/null | head -1) +fi +if [ -z "$JAR_FILE" ] || [ ! -f "$JAR_FILE" ]; then + echo "Error: No JAR file found for ${APP_NAME}" + echo " Searched: ${APP_HOME}/${APP_NAME}.jar" + echo " Searched: ${APP_HOME}/lib/${APP_NAME}*.jar" + echo " Searched: ${APP_HOME}/lib/*.jar" exit 1 fi @@ -85,6 +97,7 @@ echo "Starting ${INSTANCE_NAME}..." echo " APP_NAME: ${APP_NAME}" echo " INSTANCE_NAME: ${INSTANCE_NAME}" echo " APP_HOME: ${APP_HOME}" +echo " JAR_FILE: ${JAR_FILE}" echo " LOG_HOME: ${LOG_HOME}" echo " JAVA_OPTS: ${JAVA_OPTS}" if [ -n "${TENANT_ID}" ]; then