【问题标题】:Spring Boot Maven plugin: What does it actually do?Spring Boot Maven 插件:它实际上做了什么?
【发布时间】:2019-10-23 11:24:27
【问题描述】:

有人可以让我了解 Spring Boot Maven 插件的实际作用吗?我一直在谷歌上搜索,但我发现的大部分内容都没有给出清晰的图片。

到目前为止我的印象是它可以创建一个“完全可执行”的 jar,不需要通过 java -jar 运行,并且还可以创建一个更传统的 jar, /em> 通过java -jar 运行。我相信它也可以产生其他变化。

我也觉得它可以打包依赖和资源。我完全不清楚应用程序在运行时是如何“访问”资源的。

在上述任一结果中,我是否需要 jar 而不需要其他任何东西(即没有资源文件、依赖 jar 等)?换句话说,罐子是独立的吗?当我打开罐子时,它所需的一切似乎都在那里。真的是这样吗?

现在,让我们进一步了解我正在尝试做的事情。我正在使用 REST API 编写一组 Spring 服务。每个服务都将在其自己的 VM(或容器 - 未来)中运行。服务被打包到一个 jar 中,并通过 Spring 配置文件选择要使用的服务(即spring.profiles.active=a-profile)。

我以前做过这样的事情的方式是使用 Maven 程序集插件为每个单独的服务生成一个存档 (zip) 并包含所有必需品(依赖 jars、资源文件等)。我会把它放在需要的地方,解压,调整一些配置并通过包含的脚本运行它。

当涉及到 Spring Boot Maven 插件时,我得到的印象不是“它是如何完成的”。

【问题讨论】:

    标签: spring-boot spring-boot-maven-plugin


    【解决方案1】:

    Spring Boot Maven 插件在 Maven 中提供 Spring Boot 支持,让您可以打包可执行 jar 或战争档案并“就地”运行应用程序。

    它构建了 uber jar,该 jar 与您的应用程序一起捆绑在 Tomcat 中。如果您使用jar -tf <file_name> 检查 jar 的内容,您会发现格式有点不同。 Spring Boot 类看起来很正常,但是您的项目文件位于 BOOT-INF 文件夹中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-02
      • 2020-11-21
      • 2015-02-26
      • 2017-06-29
      • 2013-06-13
      • 2021-10-25
      • 2011-08-12
      相关资源
      最近更新 更多