使用 maven 分发 spring-boot 应用程序的替代方案(spring-boot:repackage 除外)

2024-01-01

据我所知, spring-boot-maven-plugin 已经提供了一种将整个应用程序分发到胖可执行 jar 文件中的方法:spring-boot-maven-插件 http://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-maven-plugin.html

然而,有时我们不想要一个封装所有模块、依赖项和配置文件等的胖可执行 jar,可能是一个 zip/tar 文件,其中主模块位于 jar 中,并与 jar 和依赖项一起启动不同平台的脚本lib 文件夹下,配置文件位于conf 文件夹中:




    application.zip
        mainApp.jar
        run.sh
        run.bat
        lib
            a.jar
            b.jar
            c.jar
        conf
            application.properties
            logback.xml

  

如何在这个结构中进行分布?


使用 Maven应用程序组装器插件 http://www.mojohaus.org/appassembler/appassembler-maven-plugin/- 他们的program示例似乎与您正在寻找的内容很接近。输出将类似于:

.
`-- target
    `-- appassembler
        |-- bin
        |   |-- basic-test
        |   `-- basic-test.bat
        `-- repo
            `-- org
                `-- codehaus
                    `-- mojo
                        `-- appassembler-maven-plugin
                            `-- it
                                `-- platforms-test
                                    |-- 1.0-SNAPSHOT
                                    |   |-- maven-metadata-appassembler.xml
                                    |   `-- platforms-test-1.0-SNAPSHOT.jar
                                    `-- maven-metadata-appassembler.xml
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 maven 分发 spring-boot 应用程序的替代方案(spring-boot:repackage 除外) 的相关文章

随机推荐

  • 如何查找以前的合并提交

    如何找到两个分支之间的前一个合并提交 我想查看自上次将发布分支合并到主分支以来主分支中的更改 要查看发布分支自上一个分支以来的更改 很简单git diff release 但显然git diff release 不起作用 因为它还包含上次合
  • 在 svelte 文件中导出打字稿类型

    我想导出在一个文件中定义的类型并将其导入到另一个文件中 export type myNewType name string 当我添加时 linter 显示以下错误export Modifiers cannot appear here 我可以
  • 在 Python 中使用列表理解和条件语句时出现错误:“没有足够的值来解压”

    目标是创建一个输出两个值的列表理解 for 循环如下所示 paper href scopus paper title for litag in all td find all a class ddmDocTitle paper href s
  • 在 C# 中检查互联网连接是否可用

    我正在使用下面的方法来检查 c 中的互联网连接是否可用 我正在使用它使用 NET 检查 Internet 连接的最佳方法是什么 https stackoverflow com questions 2031824 what is the be
  • 使用@ManyToMany注释从连接表中级联删除

    您好 我在映射实体时遇到问题 我正在使用 JPA2 和 Hibernate 实现 我得到带有 ManyToMany 注释的表 http img204 imageshack us img204 7558 przykladd png http
  • 加载地图和标记后,更改选择框上的谷歌地图位置更改

    如何更改 Google 地图位置 以便在选择框更改时另一个纬度和经度坐标位于 Google 地图的中心 地图和标记已成功加载 唯一需要更改的是 当从选择框中选择已加载的地图时 将其滚动到正确的城市 标记的坐标不应更改
  • 递归函数计数并打印1到n-1的分区

    我正在尝试编写一个递归函数 它必须是递归的 来打印 1 到 n 1 的分区和分区数量 例如 4 个组合的总和为 4 1 1 1 1 1 1 2 1 3 2 2 我只是在使用该功能时遇到了很多麻烦 下面这个功能不起作用 有人能帮助我吗 int
  • 同步领域 - 飞行模式

    在文档中找不到有关回退到同步领域的本地缓存版本的任何内容 例如 该应用程序以飞行模式启动 我错过了什么吗 如果用户之前登录过 当连接可用时 您可以使用SyncUser all 获取有效的经过身份验证的用户 但如果不存在用户 则需要对身份验证
  • 将常量永久注入 Tensorflow 图中进行推理

    我训练一个带有占位符的模型is training is training ph tf placeholder tf bool 然而 一旦训练和验证完成 我想永久注入一个常数false为这个值 然后 重新优化 图表 即使用optimize f
  • 使用 Electron 在本地保存文件

    我有一些模板文件 每个模板文件包含一些变量字符串 我想用 Electron 构建一个非常简单的输入表单 https www electronjs org https www electronjs org 并且我想将组成的输出文件保存在用户的
  • Cocoa-Touch:performSelectorOnMainThread:奇怪的行为+崩溃

    我遇到了一种情况 我懒惰地加载来自 www 的图像 它是一个项目列表 当点击一个项目时 详细信息视图将被推送到导航控制器 在该详细视图中 该项目有一个图像 首先是默认图像 我想开始从 URL 加载它的图像 所以我要做的就是创建一个对象 该对
  • 带有 const 模板参数的模板模板类

    我不明白为什么这不能编译 struct A template
  • Spring-boot:将默认值设置为可配置属性

    我的 spring boot 项目中有一个属性类如下 Component ConfigurationProperties prefix myprefix public class MyProperties private String pr
  • 如何检测 Windows 8 Metro 应用程序中的多点触控操作?

    我现在正在开发一个地铁应用程序 我希望启用多点触控 我浏览过谷歌 但似乎找不到任何API来支持它 有人可以为我指明在 Windows 8 Metro 应用程序中支持多点触控操作的正确方向吗 你到底想做什么 每个 UI 元素上都有触摸 指针
  • 带 url 编码的 LinkedIn API 调用

    例如 如果我拨打电话 https api linkedin com v1 people id first name last name 它应该可以正常工作 但如果 URL 编码 并且应该是 如下所示 https api linkedin c
  • *所有* Spark 属性键的列表在哪里?

    哪里有一个列表all 有效 内置 Spark 属性 名单可用属性 https spark apache org docs latest configuration html available propertiesSpark官方文档上确实n
  • 只需添加方法参数即可实现 10% 以上的性能提升(更精简的 jit 代码)

    注意 正确的答案必须超越复制 经过数百万次调用后 快速排序 1 肯定比快速排序 2 更快 除了这 1 个额外参数之外 快速排序 2 具有相同的代码 代码在帖子末尾 剧透 我还发现 jit 代码增加了 224 个字节 即使它实际上应该更简单
  • 如何从不同的IP地址注册服务?

    我正在学习 Eureka 和 Spring Boot 的微服务 我已经知道如何并成功地将所有服务注册到 Eureka 中 但所有服务和 Eureka 都是在 Localhost 上创建的 我想知道 我是否可以存储其他计算机上的服务 并且仍然
  • 在 Haskell 中生成另一种语言的代码

    我想在 Haskell 中生成另一种语言的代码 但我对如何生成代码感到困惑 来解决这个问题 我正在寻找 Haskell 中语言的抽象和优雅的表示 这对于代码生成也很有用 有问题的语言是 InstallScript link http kb
  • 使用 maven 分发 spring-boot 应用程序的替代方案(spring-boot:repackage 除外)

    据我所知 spring boot maven plugin 已经提供了一种将整个应用程序分发到胖可执行 jar 文件中的方法 spring boot maven 插件 http docs spring io spring boot docs