#!/bin/bash echo "=== Maven 构建调试脚本 ===" echo # 检查项目文件 echo "🔍 检查项目文件:" if [ -f "pom.xml" ]; then echo "✓ pom.xml 存在" echo " 项目信息:" grep -E "||" pom.xml | head -3 else echo "❌ pom.xml 不存在" exit 1 fi if [ -d "src" ]; then echo "✓ src 目录存在" echo " 源码结构:" find src -name "*.java" | wc -l | xargs echo " Java 文件数量:" else echo "❌ src 目录不存在" exit 1 fi if [ -d "src/main/lib" ]; then echo "✓ lib 目录存在" echo " JAR 文件:" ls -la src/main/lib/*.jar 2>/dev/null | wc -l | xargs echo " JAR 文件数量:" else echo "❌ lib 目录不存在" fi echo echo "🧪 本地 Maven 测试构建:" # 创建临时目录进行测试构建 mkdir -p temp-build cd temp-build # 复制必要文件 cp ../pom.xml . cp -r ../src . if [ -f "../settings.xml" ]; then cp ../settings.xml . fi echo "开始 Maven 构建测试..." echo "这可能需要几分钟..." # 执行构建 if mvn clean compile -B -s settings.xml 2>&1 | tee build.log; then echo "✓ 编译成功" else echo "❌ 编译失败,查看 build.log" tail -20 build.log exit 1 fi echo echo "尝试打包..." if mvn package -DskipTests -B -s settings.xml 2>&1 | tee package.log; then echo "✓ 打包成功" echo "生成的文件:" ls -la target/*.jar 2>/dev/null || echo " 未找到 JAR 文件" ls -la target/ | grep -E "\.(jar|war)$" || echo " 未找到任何归档文件" else echo "❌ 打包失败,查看 package.log" tail -30 package.log exit 1 fi cd .. echo echo "=== 调试完成 ===" echo "如果本地构建成功,问题可能在 Docker 环境中"