Docker - 使用多模块 Maven 项目进行多阶段构建

2023-12-20

我有一个具有 root 的 Maven 项目pom.xml具有多个子文件夹作为模块和依赖项的文件。

它看起来像这样:

    <packaging>pom</packaging>
    <modules>
        <module>module1</module>
        <module>module2</module>
    ...
    ...

每个模块/依赖项都会生成自己的JAR file.

我正在使用 Maven 依赖插件来解压我的最终版本JAR分别到类和依赖项文件夹。

So my Dockerfile里面有这样的东西:

COPY ${FOLDER}/BOOT-INF/lib /app/lib
COPY ${FOLDER}/META-INF /app/META-INF
COPY ${FOLDER}/BOOT-INF/classes /app

依赖项位于/app/lib,但由于我的子文件夹(模块)是其中一些依赖项,所以COPY层永远不会被缓存,因为这些子文件夹是我更改代码的地方。 (在那里面/app/lib文件夹中混合了模块依赖项和第三方依赖项)。

有什么方法可以缓存除这些模块之外的所有其他依赖项(第三方)? 或者这是不可能的,因为最终它们都是依赖项?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker - 使用多模块 Maven 项目进行多阶段构建 的相关文章

随机推荐

  • didAddAnnotationViews 不适用于 MKMapView

    我一直在研究 MKMapView 并尝试了解 MKMapViewDelegate 系统的工作原理 到目前为止 我没有运气在添加当前位置标记时调用 didAddAnnotationViews 我已将我的应用程序委托设置为实现 MKMapVie
  • 导入到 .pch 文件和 .h 文件顶部?

    我是 obj c 的新手 我注意到 pch 文件用于包含整个 x code 项目中的文件 但是相同的文件也包含在一些 h 文件的顶部 例如 import 什么是如果它已经包含在 pch 文件中 是否需要在 h 文件的顶部再次导入它 预编译头
  • 了解 Laravel 5.2 上的队列和调度程序

    我正在尝试如何在 Laravel 上编写作业 根据 Laravel 文档 我创建了一个使用 mail queue 发送电子邮件的简单作业 我还添加了一个 cron 作业 该作业每分钟调用一次调度程序 而调度程序又每 5 分钟运行一次该作业
  • 显示 Scala 表达式的推断类型

    如何查看 Scala 编译器为表达式等推断的类型 我有一些具有复杂类型推断和隐式转换的代码 仅通过阅读代码很难看出发生了什么 我尝试过添加 scalacOptions in Compile Xprint types 在build sbt中
  • 关于fork和execve系统调用

    据说fork系统调用创建调用进程的克隆 然后 通常 子进程发出execve系统调用来更改其映像并运行新进程 为什么要分两步走 顺便说一句 什么是execve代表 采取两步走的原因是灵活性 在这两个步骤之间 您可以修改新执行的程序将继承的子进
  • 我们如何更改标签中的行?

    我有一个标签 在设置文本时我想更改行 例如 String str first line n Secondline JLabel label setText str 我尝试了上面的代码 但它不起作用 如何更改字符串中的行 Swing 不使用经
  • 获取自定义用户控件中声明的事件的所有事件处理程序

    我正在尝试编写一个通用函数 给出对控件 组件的引用以及在其类上声明的事件的名称 它应该能够检索 通过反射 当前为指定事件名称注册的所有事件处理程序 我遇到的第一个也是主要问题 已解决 因此您可以忽略本段 是我在 StackOverflow
  • Perl 中“0 but true”是什么意思?

    有人能解释一下 Perl 中字符串 0 but true 的确切含义吗 据我了解 它在整数比较中等于零 但在用作布尔值时计算结果为 true 它是否正确 这是语言的正常行为还是解释器中将其视为特殊情况的特殊字符串 这是语言的正常行为 引用p
  • 如何在 PHP 中从客户端设置自定义 $_SERVER 变量

    根据这篇文章 哪些 SERVER 变量是安全的 https stackoverflow com questions 6474783 which server variables are safe我见过的另一个例子是 客户端似乎能够设置自定义
  • HTML5 地理定位高度

    我正在为我正在从事的项目使用 html5 地理定位 api 纬度和经度报告正确 但高度始终返回为 空 测试设备是 Nexus 4 和 5 还有其他人遇到过类似问题吗 绝对地 这似乎是一个可能特定于浏览器的问题 由于我在 iPhone 和 A
  • gcc 生成的 x86_64 汇编代码中的 xorl %eax, %eax

    我对组装完全是个菜鸟 只是四处看看发生了什么 无论如何 我写了一个非常简单的函数 void multA double x long size long i for i 0 i
  • HTTP 的 BPF 是什么?

    定义可见here http en wikipedia org wiki Berkeley Packet Filter 候选人的答案可能是tcp and dst port 80 但是可以tcp and dst port 80保证它是HTTP流
  • Visual Studio 类图未显示关系

    当我定义类属性而不使用字段 使用 C 3 0 启用 时 类图未显示我的一对一 多关系 不过 继承在图中是可见的 有没有办法来解决这个问题 当您右键单击字段或属性时 您可以选择显示为关联或显示为集合关联
  • Flutter Android Studio 错误:无法获取未知属性“keystoreProperty”

    我是 flutter 新手 我正在尝试运行我的第一个项目 而不对演示应用程序的源代码进行任何更改 但我不断收到以下错误 Launching lib main dart on SM A115F in release mode Running
  • Rails 如何验证文件格式?

    如何验证我的文件字段的格式是否正确 我希望图像字段验证它是 png jpg jpeg 以及结尾为 flv 的 flv 还有它的结尾为 mov 的 Quicktime 以及如何创建错误消息来告知该字段无效 我的 simple form for
  • 访问cookie过期时间owin

    我正在尝试访问 Owin 上的过期时间 我正在使用以下示例 访问 Owin Cookie 身份验证的 ExpireTimeSpan 属性以通知用户登录到期 https stackoverflow com questions 27107264
  • 如何在 PHP 中克隆 gd 资源

    我正在寻找用 PHP 创建的克隆图像imagecreatetruecolor或其他一些图像创建功能 正如评论中所说 不 你不能做出像这样简单的感情 copy original 这是因为资源是引用 不能像标量值一样被复制 例子 a image
  • 用于获取标签列表的 GCP API

    是否有用于获取资源标签的 GCP API 我想要获取 GCP 项目的所有标签的列表 如何获取GCP中的所有标签 基本上 GCP 资源管理器 API 返回每个资源的 Lebel 对象 但我想使用一个 API 调用获取所有标签的列表 我尝试了下
  • 如何获取 numpy 数组中最大值的所有索引?

    我有一个数字数组 最大值可能会出现多次 我们如何获得数组中所有出现最大值的索引集合 例如 对于以下数组 import numpy as np a np array 1 2 3 2 3 2 1 3 结果应该是 2 4 7 或等效的数组或元组
  • Docker - 使用多模块 Maven 项目进行多阶段构建

    我有一个具有 root 的 Maven 项目pom xml具有多个子文件夹作为模块和依赖项的文件 它看起来像这样