fix: Maven检测优先用系统已安装(command -v mvn),下载源换阿里云镜像
Auto Release / build (push) Failing after 43s

This commit is contained in:
2026-07-19 00:56:13 +08:00
parent 2b20098f09
commit 09873425b9
+25 -8
View File
@@ -21,21 +21,38 @@ jobs:
fi
export JAVA_HOME
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
echo "PATH=/opt/maven/bin:$JAVA_HOME/bin:$PATH" >> $GITHUB_ENV
echo "Using JAVA_HOME=$JAVA_HOME"
java -version
echo "JAVA_HOME=$JAVA_HOME"
# 2) 确保 Maven 可用 —— 用官方二进制包安装,绕开 dnf 拉 java-17 与已装 JDK 的冲突
if [ ! -x /opt/maven/bin/mvn ]; then
echo "Maven not found, downloading official binary..."
# 2) 确保 Maven 可用 —— 优先用系统已安装的(sdkman/dnf),没有才下载二进制
MVN_BIN=""
if command -v mvn >/dev/null 2>&1; then
MVN_BIN=$(command -v mvn)
echo "Maven found in PATH: $MVN_BIN"
elif [ -x /opt/maven/bin/mvn ]; then
MVN_BIN=/opt/maven/bin/mvn
echo "Maven found at /opt/maven"
fi
if [ -z "$MVN_BIN" ]; then
echo "Maven not found, downloading binary (aliyun mirror)..."
MAVEN_VER=3.9.9
cd /tmp
curl -fsSL "https://archive.apache.org/dist/maven/maven-3/${MAVEN_VER}/binaries/apache-maven-${MAVEN_VER}-bin.tar.gz" -o maven.tgz
curl -fsSL --connect-timeout 15 --max-time 120 \
"https://mirrors.aliyun.com/apache/maven/maven-3/${MAVEN_VER}/binaries/apache-maven-${MAVEN_VER}-bin.tar.gz" \
-o maven.tgz || \
curl -fsSL --connect-timeout 15 --max-time 120 \
"https://dlcdn.apache.org/maven/maven-3/${MAVEN_VER}/binaries/apache-maven-${MAVEN_VER}-bin.tar.gz" \
-o maven.tgz
tar -xzf maven.tgz -C /opt
ln -sfn /opt/apache-maven-${MAVEN_VER} /opt/maven
rm -f maven.tgz
MVN_BIN=/opt/maven/bin/mvn
fi
/opt/maven/bin/mvn -version
# 把 Maven 所在目录加入 PATH
MVN_DIR=$(dirname "$MVN_BIN")
echo "PATH=$MVN_DIR:$JAVA_HOME/bin:$PATH" >> $GITHUB_ENV
"$MVN_BIN" -version
- name: Build with Maven
run: mvn -B clean package -DskipTests