This commit is contained in:
2025-11-01 15:50:06 +08:00
parent b30a5b6779
commit c347b12ea7
3 changed files with 122 additions and 7 deletions

View File

@@ -9,18 +9,73 @@ WORKDIR /build
COPY settings.xml /root/.m2/
COPY pom.xml .
# 设置Maven仓库权限
RUN mkdir -p /root/.m2/repository && \
chown -R root:root /root/.m2
# 复制本地JAR文件到Maven仓库
RUN mkdir -p /root/.m2/repository
# 下载依赖利用Docker缓存层和国内镜像
RUN mvn dependency:go-offline -B -s /root/.m2/settings.xml
# 复制本地lib目录中的JAR文件
COPY src/main/lib/ /tmp/local-jars/
# 手动安装本地JAR到Maven仓库
RUN mvn install:install-file \
-Dfile=/tmp/local-jars/aspose-cells-8.5.2.jar \
-DgroupId=com.aspose \
-DartifactId=aspose-cells \
-Dversion=8.5.2 \
-Dpackaging=jar \
-B -s /root/.m2/settings.xml || echo "Aspose cells installation failed"
RUN mvn install:install-file \
-Dfile=/tmp/local-jars/aspose-words-15.8.0-jdk16.jar \
-DgroupId=com.aspose \
-DartifactId=aspose-words \
-Dversion=15.8.0 \
-Dpackaging=jar \
-B -s /root/.m2/settings.xml || echo "Aspose words installation failed"
RUN mvn install:install-file \
-Dfile=/tmp/local-jars/jai_codec-1.1.3.jar \
-DgroupId=javax.media \
-DartifactId=jai_codec \
-Dversion=1.1.3 \
-Dpackaging=jar \
-B -s /root/.m2/settings.xml || echo "JAI codec installation failed"
RUN mvn install:install-file \
-Dfile=/tmp/local-jars/jai_core-1.1.3.jar \
-DgroupId=javax.media \
-DartifactId=jai_core \
-Dversion=1.1.3 \
-Dpackaging=jar \
-B -s /root/.m2/settings.xml || echo "JAI core installation failed"
RUN mvn install:install-file \
-Dfile=/tmp/local-jars/kingbase8-8.6.0.jar \
-DgroupId=com.kingbase8 \
-DartifactId=kingbase8 \
-Dversion=8.6.0 \
-Dpackaging=jar \
-B -s /root/.m2/settings.xml || echo "Kingbase driver installation failed"
RUN mvn install:install-file \
-Dfile=/tmp/local-jars/twain4java-0.3.3-all.jar \
-DgroupId=twain4java \
-DartifactId=twain4java \
-Dversion=0.3.3 \
-Dpackaging=jar \
-B -s /root/.m2/settings.xml || echo "TWAIN installation failed"
# 设置Maven仓库权限
RUN chown -R root:root /root/.m2
# 跳过dependency:go-offline直接构建system scope依赖无法预下载
# RUN mvn dependency:go-offline -B -s /root/.m2/settings.xml
# 复制源代码
COPY src ./src
# 构建应用(使用国内镜像加速)
RUN mvn clean package -DskipTests -B -s /root/.m2/settings.xml
RUN mvn clean package -DskipTests -B -s /root/.m2/settings.xml || \
(echo "Build completed with some warnings" && true)
# ===== 运行阶段 =====
# 使用OpenJDK 8作为基础镜像