在最近几个新项目中使用JHipster(强烈推荐!令人惊叹的工作!)后,我试图将一些概念移植到旧的webapp中,实质上将它迁移到Spring Boot和Angular。如何改变Spring Boot提供静态文件的方式?
在春季启动,静态网络资源的默认位置(HTML,JS,CSS等)是在一个名为public
,static
或resources
位于classpath的根目录下。这些目录中的任何一个都将在spring启动时被选中,并且它们中的文件将通过HTTP访问。
在JHipster中,网络文件位于src/main/webapp
目录中。这是默认情况下在经典的Maven WAR项目中使用的目录。
我喜欢这个更好,因为:
- 更清楚地分开由Java代码
- 嵌套是那么深使用的类路径资源的静态网页的东西(我们已经有目录嵌套的足够水平和Maven一样!)。
但是,如果我只是在我的项目中创建Web应用程序目录,并把我的HTML文件在里面,他们不通过HTTP可用,并且构建过程中它会创建WEB-INF
目录结构。我不想那么做,而在JHipster里,情况并非如此。
如何配置Spring Boot的行为与JHipster类似?
对于那些不熟悉JHipster的人:如何指示Spring Boot从不同文件夹提供静态文件,但不包含在类路径中?
好,资产目录应该位于'/ src/main/assets'? –
它通常在'/ src/main/webapp/assets'中。但你可以玩弹簧配置来改变它。 –
顺便说一句:看看JHipster初学者。这有点不同。配置文件名是'WebConfigurer'。 –