我想使用 Spring Boot 开发示例 REST API 项目。我很困惑什么才是正确的方法,因为我们有多种打包选项,例如 war
、jar
等
我有一个要求,我有一个外部库文件夹,其中有多个 jar
和将在 REST API 和前端(使用 React)中使用的资源文件。
由于 jar 和资源的动态变化,我想将它们保留为外部依赖项,并且我不想将它们包含在项目中。我尝试过使用 loader.path
和 jar
的示例项目,效果很好,但同样的方法不适用于 war
文件。我使用 Maven 作为构建工具。
- 在 Spring Boot 中应该采用什么方法来实现这一点?
- 需要 2.xx 版本的工作示例
- 应该使用
war
还是jar
? - 如何配置 IDE (Eclipse/IntelliJ) 以在 Spring Boot 中使用外部
lib
文件夹 - 我找不到解决方案。
最佳答案
您应该使它成为可执行的 Spring Boot JAR。
如果必须将其部署在 Java EE 服务器上,则只需要 WAR。
很高兴您使用 Maven。让它管理您的依赖项并构建包。
您想找到创建可执行 JAR 的 Maven 插件,其中包含依赖项。
更新:
以下是我对您的四个问题的回答:
- 不要混用 Maven 和/lib。最好使用
mvn install
将您声称需要的所有外部库放在本地 .m2 或 Maven 存储库中。 - 参见 Spring Boot guides对于工作示例。也许服务和 React 前端应该是单独的包和部署。
- 这是 Spring Boot,不是 Java EE。使用可执行 JAR,而不是 WAR。
- 参见建议 1. 在 Maven 中安装这些 JAR。不要混搭。
建议大家考虑单独部署REST服务,让React前端调用。解耦两者。让 REST 服务成为独立的微服务,没有 UI。
关于java - 用于 rest api 项目的 Spring Boot war 或 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51654001/