gpt4 book ai didi

java - 在docker中使用外部jar依赖

转载 作者:行者123 更新时间:2023-12-02 00:08:44 24 4
gpt4 key购买 nike

我正在使用通过scope = system添加的外部jar,并将${basedir}/src/main/java/...添加为pom.xml中依赖项子组下的系统路径。每当我从 IntelliJ 本地使用该项目时,都不会出现警告或错误。但是,当我尝试从 docker 容器启动 .jar 文件时,我得到了有关依赖项的异常。

我尝试通过 IntelliJ 中的项目结构下的库添加 jar,并将 jar 添加到根目录下的 libs 文件夹中。首先,我提供了绝对路径,但后来我将其更改为 ${basedir},因为绝对路径没有映射为 docker 容器上的卷。有什么方法可以将外部 jar 与项目 jar 一起打包,以便我可以在 docker 容器中使用它?

最佳答案

IIUC 你至少有两个选择:

1。将 JAR 添加到新镜像(根据上面的 @LexByte 建议)。

假设 JAR 位于主机上的 ${PWD}/jars 中,并且您希望它们位于容器中的 ${WORKDIR}/jars 中:

FROM [[original-image]]
WORKDIR ...
COPY ./jars ./jars

然后,确保您的代码通过 [[WORKDIR]]/jars/[[some-jar]] 引用 JAR

NB [[WORKDIR]] 是您设置为容器工作目录的任何目录。

2。使用现有镜像将 JAR 安装到容器中:

docker run ... --volume=${PWD}/jars:[[WORKDIR]]/jars ...

NB [[WORKDIR]] 是您将用作容器工作目录的目录。这是 JAR 将安装到容器中的位置。

关于java - 在docker中使用外部jar依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58138142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com