首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring boot开发工具

spring boot开发工具
EN

Stack Overflow用户
提问于 2020-04-05 12:11:16
回答 2查看 75关注 0票数 0

我正在用spring boot编写一个REST API,它在运行时生成一个类、控制器和存储库。一旦代码生成,我就会使用dev工具重新编译这个类。

我已经在我的pom.xml中包含了开发工具的依赖项,并且一切都在我的本地机器上运行得很好。但是,一旦我部署到Ubuntu服务器,并且在运行时创建了一个新类,当我尝试访问端点时,它会生成一个错误。

代码语言:javascript
复制
{
"timestamp": "2020-04-05T03:26:53.733+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/api/reg"

}

当我关闭Tomcat服务器并重新运行应用程序时,以前生成的类及其控制器变得可用,并且能够访问端点。

所以我的问题是:在运行时生成类之后,我如何让spring boot重新编译和扫描所有生成的组件,而不必关闭服务器?

EN

回答 2

Stack Overflow用户

发布于 2020-04-05 12:23:03

问题可能是您在本地使用了某种嵌入式Tomcat或Jetty。它能够在运行时获取更改。

我假设您使用Tomcat作为web服务器(而不是jar本身附带的嵌入式服务器),因为您提到必须手动重新启动它。不确定Tomcat web服务器是否能够在运行时获取类更改。

如果您希望Tomcat在运行时重新加载类,请尝试查看此answer

票数 0
EN

Stack Overflow用户

发布于 2020-04-05 16:12:49

spring-boot-devtools在运行哪个IDE时是一个很有用的功能,因为它为代码更改提供了一个非常快的反馈循环,请注意,当运行一个完全打包的应用程序时,开发工具会自动禁用。

当使用java -jar部署/启动它时,或者使用特定的类加载器触发它时,它将被禁用。那么它就被认为是生产应用程序。

您可以将依赖项标记为可选,这是防止devtools应用于其他模块的最佳实践。您可以在这个spring文档中参考更多详细信息,

https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-devtools

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61037949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档