【问题标题】:Spring Boot Angular2, using mvn not loading index.htmlSpring Boot Angular2,使用 mvn 不加载 index.html
【发布时间】:2017-01-31 02:49:33
【问题描述】:

我有一个 mvn 项目,其中包含 2 个模块,ui 和 server 都构建为 jar。我使用 Angular2 作为 ui 模块,并将此依赖项添加到服务器 spring boot 模块。两个模块都正确构建,但 ui 不包含在服务器模块中,当服务器正确启动时,它不会在请求时提供 index.html 页面。

我有标准 mvn 资源结构下的 ui Angular2 src,例如 src/main/resources。

我找到了 2 个示例 1) SpringAngular2TypeScript 我无法开始工作,以及 2) 一个 gradle 项目。

任何建议都会很好,或者简单的工作示例会更好。

【问题讨论】:

    标签: spring maven angular spring-boot using


    【解决方案1】:

    首先,您的 UI 模块不应该内置到 JAR 中。它应该内置到 WAR 中。罐子不会包含任何网络内容。因此,您的 index.html 没有被提供,因为它首先不存在于 jar 中。 话虽这么说,而不是将 ui 模块包含在服务器模块中,您可以将您的服务器模块作为 jar 依赖项包含在 ui 模块中(因为战争可以包含 jar)并将此 WAR 部署在您的服务器上。

    另外,您不应该将所有的 Angular 代码都放在 src/main/resources 中。它应该放在 src/main/webapp 文件夹中。请参阅Standard Maven Folder Structure

    【讨论】:

    • 谢谢。所以现在有一个springboot模块并将angular2代码从它自己的模块移动到src/main/webapp下的springboot模块会更简单吗?
    • 是的,您也可以这样做。您最终将只生成一个工件,即 WAR(这将在 src/main/java 中包含您的 spring boot 代码,在 src/main/webapp 中包含 angular 代码)。检查此link 以获取示例应用程序。相反,如果您仍然想生成 2 个工件,那么就像我之前在回答中已经提到的那样,您应该将服务器模块(jar)作为依赖项包含到 angular ui 模块(war)中,并将 war 部署到服务器。
    猜你喜欢
    • 2022-01-10
    • 2016-11-21
    • 1970-01-01
    • 2017-08-19
    • 2021-11-07
    • 2018-03-09
    • 2016-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多