有人可以让我了解Spring Boot Maven插件的实际作用吗?我一直在谷歌搜索,但是我发现的大部分内容都没有清晰的图片。
到目前为止,我的印象是它可以创建不需要通过java -jar
运行的“完全可执行”的jar,并且还可以制作一个更传统的jar,使您将通过java -jar
运行。我敢肯定它也可以产生其他变化。
我也对它可以打包依赖项和资源感到印象深刻。我完全不清楚应用程序在运行时如何“访问”资源。
在上述两种结果中,我是否只需要 罐子就不需要(即没有资源文件,依赖罐子等)?换句话说,罐子是独立的吗?当我打开罐子时,似乎确实需要的一切都在那里。是真的吗?
现在,让我们进一步介绍我要尝试做的事情。我正在使用REST API编写一组Spring服务。每个服务将在其自己的VM(或将来的容器)中运行。这些服务被打包到一个jar中,并通过Spring配置文件(即spring.profiles.active=a-profile
)选择要使用的服务。
我以前做过这样的事情的方法是使用Maven程序集插件为每个单独的服务生成一个存档(zip),并包含所有必需品(依赖罐,资源文件等)。我将其放在需要的地方,解压缩它,调整一些配置,然后通过附带的脚本运行它。
当涉及到Spring Boot Maven插件时,我得到的印象不是“如何完成”。
答案 0 :(得分:1)
Spring Boot Maven插件在Maven中提供了Spring Boot支持,使您可以打包可执行jar或war归档文件并“就地”运行应用程序。
它构建了uber jar,它与您的应用程序捆绑在Tomcat中。如果使用jar -tf <file_name>
检查罐子的内容,您会发现格式有些不同。 Spring Boot类看起来很正常,但是您项目的文件位于BOOT-INF
文件夹中。