76 lines
1.7 KiB
Bash
Executable File
76 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "=== Maven 构建调试脚本 ==="
|
|
echo
|
|
|
|
# 检查项目文件
|
|
echo "🔍 检查项目文件:"
|
|
if [ -f "pom.xml" ]; then
|
|
echo "✓ pom.xml 存在"
|
|
echo " 项目信息:"
|
|
grep -E "<groupId>|<artifactId>|<version>" 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 环境中" |