java - 当我有自定义存储库时,如何使用 Dockerfile 在 Docker 中运行 Maven 项目

标签 java maven docker dependencies

我有一个名为 escomled-machinelearning 的项目使用 Blackboard hazelcast instance来自其他名为 escomled-common 的项目。我添加了 escomled-common<dependencies> escomled-machinelearning的项目。该项目有效,但是当我尝试使用 Dockerfile 在 Docker 容器中运行它时,它给了我一个错误:

com.escomled.machinelearning:escomled-machine-learning:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at escomled:escomled-common:jar:0.0.1

我的Dockerfile :

FROM maven:3.3.9-jdk-8-alpine as build-env
COPY . /app
WORKDIR /app
RUN mvn package

FROM openjdk:8-jdk-alpine
WORKDIR /app
CMD java -jar app.jar
COPY --from=build-env /app/target/*.jar app.jar

我认为问题是 Maven 正在尝试查找 escomled:escomled-common:jar:0.0.1maven:3.3.9-jdk-8-alpine 。帮助

最佳答案

您需要添加指向自定义存储库的 settings.xml 文件。这是 dockerhub 页面中的文档 maven image .

To add your custom settings.xml file to the image use

COPY settings.xml /usr/share/maven/ref/

关于java - 当我有自定义存储库时,如何使用 Dockerfile 在 Docker 中运行 Maven 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51246329/

相关文章:

java - 将所有对象放在 xml 文件中的一个位置或创建每个类的最佳方法是什么?

java - 适用于 Java、PHP 和 Python 的开源队列

java - Wildfly 10 共享 EJB

docker - Docker neo4j容器刚刚挂起

Docker 容器在生产中使用时的行为

java - 在 Spring xml 中创建 Runnable

java - 空指针异常无法修复

java - "illegal character:\65279"在 Maven 编译期间尽管设置为 UTF-8

Java Web 应用程序 "plugin"体系结构

visual-studio - Visual Studio 正在删除我在 docker.compose.vs.debug.g.yml 中添加的环境变量