java - 用于 rest api 项目的 Spring Boot war 或 jar

标签 java reactjs spring-boot maven-2

我想使用 Spring Boot 开发示例 REST API 项目。我很困惑什么才是正确的方法,因为我们有多种打包选项,例如 warjar

我有一个要求,我有一个外部库文件夹,其中有多个 jar 和将在 REST API 和前端(使用 React)中使用的资源文件。

由于 jar 和资源的动态变化,我想将它们保留为外部依赖项,并且我不想将它们包含在项目中。我尝试过使用 loader.pathjar 的示例项目,效果很好,但同样的方法不适用于 war 文件。我使用 Maven 作为构建工具。

  1. 在 Spring Boot 中应该采用什么方法来实现这一点?
  2. 需要 2.xx 版本的工作示例
  3. 应该使用war还是jar
  4. 如何配置 IDE (Eclipse/IntelliJ) 以在 Spring Boot 中使用外部 lib 文件夹 - 我找不到解决方案。

最佳答案

您应该使它成为可执行的 Spring Boot JAR。

如果必须将其部署在 Java EE 服务器上,则只需要 WAR。

很高兴您使用 Maven。让它管理您的依赖项并构建包。

您想找到创建可执行 JAR 的 Maven 插件,其中包含依赖项。

更新:

以下是我对您的四个问题的回答:

  1. 不要混用 Maven 和/lib。最好使用 mvn install 将您声称需要的所有外部库放在本地 .m2 或 Maven 存储库中。
  2. 参见 Spring Boot guides对于工作示例。也许服务和 React 前端应该是单独的包和部署。
  3. 这是 Spring Boot,不是 Java EE。使用可执行 JAR,而不是 WAR。
  4. 参见建议 1. 在 Maven 中安装这些 JAR。不要混搭。

建议大家考虑单独部署REST服务,让React前端调用。解耦两者。让 REST 服务成为独立的微服务,没有 UI。

关于java - 用于 rest api 项目的 Spring Boot war 或 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51654001/

相关文章:

reactjs - 如何使用 redux 从服务器获取数据?

java - 如何阻止处理 `int-ftp:inbound-channel-adapter ` 中的旧文件?

java - 无论如何要将元数据添加到 Java 集合中?

java - 升级到 2.7 ClassNotFoundException : org. mockito.exceptions.Reporter 后运行测试

javascript - reducer 更新了 apposArrayProp 但 Redux 没有更新我的 View

reactjs - useState 钩子(Hook)一次只能设置一个对象,并将同一个数组的另一个对象返回到初始状态

spring - 使用来自不同数据库的 bean hibernate DuplicateMappingException

java - 如何使我的 Spring Boot 应用程序使用给定的用户名和密码登录 keycloak?

java - 使用 SAML 1.1 的 Spring Security

java - 将 FXML 与 "pure javafx"代码混合