繁体   English   中英

当应用程序部署为后台服务(jar)时,spring-boot提供静态内容

[英]spring-boot serve static content when app is deployed as a background service (jar)

我在使用spring-boot提供静态内容时遇到问题。

我已将静态内容配置为通过application.properties文件提供,如下所示:

static-location-path=/opt/myapp/static
spring.resources.static-locations=file:${static-location-path}/

请注意,它在jar文件之外。 现在,如果我使用mvn spring-boot插件启动应用程序,如下所示:

mvn spring-boot:run -Drun.profiles=staging

然后可以正确提供静态文件,我可以访问它们。

但是我不想在登台环境中像这样运行我的应用程序,而是作为一种服务,可以在服务器启动时自动启动。 因此,我设法将应用程序构建为可执行jar。 然后,我设法将其作为init.d服务启动。 该应用程序在其他方面可以正常运行,但是不再提供静态文件。 我检查了一下,正确的配置文件(确定应该使用哪个application.properties文件)应该正确地加载到那里。

主要问题是: 当应用程序作为init.d服务(jar)启动时,如何使用spring-boot来提供静态内容,而我正在使用application.properties配置来提供静态内容?

也许有些东西我在这里不明白。 与此相关的补充问题是:

  1. jar中是否还捆绑了不同的application.properties文件(在resources文件夹下)? 那意味着应该找到它们,应用程序将从那里获取正确的配置值?

  2. 当应用程序捆绑为jar并作为init.d服务启动时,spring-boot可以完全提供静态内容吗?

  3. 我该如何进一步调试问题? 我知道应将应用程序日志写入何处,因此至少可以有所帮助。

解决了。 静态内容文件夹和文件不属于用于运行服务的用户所有,因此用户无权访问它们。 太糟糕了,收到的错误尚不清楚(404),而不是某些权限错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM