如果静态内容部署为jar,则Spring boot 404错误

如果静态内容部署为jar,则Spring boot 404错误,spring,angular,spring-boot,Spring,Angular,Spring Boot,我将spring boot应用程序和angular js项目作为两个不同的模块 angular js内容(“dist”文件夹中的文件)转换为jar文件,并作为Spring boot应用程序的一部分包含在内。jar中的文件夹结构是/static/** jar出现在spring启动应用程序的lib文件夹中 现在,当我尝试访问应用程序时,我得到404错误 如果我复制/resources/static中的“dist”文件夹内容并创建SpringBootJAR文件,它就可以正常工作 当静态内容作为jar文

我将spring boot应用程序和angular js项目作为两个不同的模块

angular js内容(“dist”文件夹中的文件)转换为jar文件,并作为Spring boot应用程序的一部分包含在内。jar中的文件夹结构是/static/**

jar出现在spring启动应用程序的lib文件夹中

现在,当我尝试访问应用程序时,我得到404错误

如果我复制/resources/static中的“dist”文件夹内容并创建SpringBootJAR文件,它就可以正常工作

当静态内容作为jar文件包含时,我是否遗漏了任何内容


提前感谢

我有一个与您类似的设置,但使用的是Angular 4。我的Spring Boot版本是1.5.3.0版本

我的构建基于Maven,有两个模块。一个用于前端(JAR),一个用于后端(WAR),它引用了第一个带有Maven依赖机制的模块

提供静态内容是开箱即用的。因为我使用的是SpringSecurity,所以我必须为这些资源配置访问规则。但这个问题应该用401而不是404来回答

您的角形震击器结构似乎是正确的。您的前端构建完成了吗

带有前端JAR的
lib
文件夹位于路径
/WEB-INF/
上的我的Spring Boot WAR中


您是否检查过您使用的Spring Boot版本是否存在bug?

@Moshe Arad@Raj据我了解, 静态内容可以位于上述位置之一。然而,我自己也面临着为静态内容服务的斗争。我正在开发基于spring boot和angular cli(6.1.5)的应用程序。用于部署目的,以便UI在spring引导端口上工作;我运行了
ng build
。它在src/main/resource/static中生成文件(将angular.json中的outputPath更改为resources/static,并在resources中创建一个空的dir static)。但弹簧靴在8080时没有任何角度的内容。虽然index.html有
,但我认为它从static dir中选择/service.js内容更为具体,所以我运行了:
ng build--base href/--deploy url/static/
。这次生成的index.html中有/static/runtime.js等。但是当访问localhost:8080/(右键单击->检查显示200个响应代码)时,仍然不显示任何UI内容。但是点击localhost:8080/static/runtime.js显示404


我相信除了向resources/static添加内容之外还有更多的事情要做,因为tomcat可能正试图为其提供服务,但不知何故,内容没有显示出来。因为我注意到浏览器选项卡上的favicon图标(角度图标),jar文件的内容在路径(BOOT-INF/classes/static/index.html等)中显示生成的静态文件。

spring BOOT中的静态内容应该只存在于/resources/static文件夹下,角度文件被视为静态内容。将dist文件夹的内容移动到/resources/static文件夹中是否有任何更新?我面临着同样的问题。。。在ng构建之后,我使用maven将所有文件放在/BOOT-INF/classes/下,但仍然无法使用URL访问它。