在tomcat中播放框架路由器问题



我在Tomcat中无法获得@Get注释。我只有在将实际的WAR文件部署到Tomcat prod服务器时才会遇到这个问题,但当我使用play run

运行它时,一切都正常
http://localhost:8080/test/hello/world/ -- routes -- WORKS
GET     /hello/world/?                   Foo.greet
http://localhost:8080/test/hello/john/ -- annotated using router -- DOESN'T WORK
@Get("/hello/john/?")
public static void greet() {
 System.out.println("Hello!");
}

有人有什么想法吗?由于

我猜您正在使用这样的模块。我个人在尝试在稍微修改的环境(如Heroku)中运行一些模块时遇到了许多问题,所以很可能是模块问题(这意味着如果不侵入模块,就无法修复它)。

如果你正在使用我之前链接的模块,你最好的机会是在这里打开一个错误报告,以便作者可以修补它。

我还建议使用routes文件。它将路由与代码解耦,这在重构时很方便,而且从设计的角度来看更漂亮。它还允许一些额外的技巧(因为它接受流控制结构),这些技巧可能很难使用注释来提取。

最新更新