我想以不同的方式打包 Java 应用程序,以便构建关联的 Docker 镜像。基本上当前的配置是基于包含 2 个目录的文件夹构建 Docker 镜像:
prog:相互依赖的 Java 项目的 JAR 文件
lib:项目的库(依赖项)
我想做的是创建一个包含这两个文件夹内容的 JAR 文件。
Java 项目并不都是依赖的,但有一个定义对象在其他项目中使用。 我目前正在寻找一种方法将所有这些项目打包到一个 JAR 中。我找到了一个名为 OneJar 的工具可以解决我的问题,但我不确定这是否是正确的方法..
您对继续进行的方式有什么建议吗?
谢谢!
最佳答案
使用 maven :
maven Shade 插件将制作一个包含所有依赖项的“uber”jar。 https://maven.apache.org/plugins/maven-shade-plugin/index.html
spotify docker-maven-plugin 将使用以下 uber jar 构建并推送您的镜像:https://github.com/spotify/docker-maven-plugin
您还可以查看 google jib 项目 https://github.com/GoogleContainerTools/jib
关于java - 将多个项目和依赖项构建到一个 jar 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53706906/