如何解决在Docker构建阶段使用本地M2存储库
我制作了一个使用自己的库的Java项目,该库安装在我的本地m2存储库中。现在,我正在尝试创建一个在构建阶段生成jar的Docker映像。它失败了,因为它无法解析我自己库的项目的依赖关系。有什么方法可以告诉Maven(从容器)使用我的本地M2存储库(外部容器),以便它可以在我运行mvn package
时解决我的库依赖关系?
解决方法
简单的答案-您不能,因为无法安装docker build
命令的卷。
我假设您的最终目标是运行包含您项目的内置jar或war的Docker映像。
要完成此任务,您需要两个Dockerfile-一个可用于创建将构建您的项目并退出的容器,另一个可描述您实际想要的映像的-一个可用于创建容器的文件运行您的项目。
有一篇不错的文章,描述了如何创建和使用第一个here。如 对于第二个项目,这取决于您的项目是以ja还是战争构建的,以及如何启动/部署它。
,有两种管理库(包括私有库)的方法:
-
(以旧方式)将编译的库复制到项目lib目录,并确保您的项目将其选中。
-
使用一些存储库管理软件。不错的选择是-Artifactory https://jfrog.com/artifactory或Nexus存储库管理-https://www.sonatype.com/product-nexus-repository
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。