Playframework 播放示例rest应用程序问题

Playframework 播放示例rest应用程序问题,playframework,resteasy,Playframework,Resteasy,我创建了一个测试应用程序并创建了hello rest easy类。然后,我尝试使用play run test运行,但出现以下异常: 21:46:18,246 INFO ~ RESTEasy plugin: Found resource class: resources.HelloResource 21:46:18,482 WARN ~ NoClassDefFoundError: Unable to load builtin provider: org.jboss.resteasy.plugi

我创建了一个测试应用程序并创建了hello rest easy类。然后,我尝试使用
play run test
运行,但出现以下异常:

21:46:18,246 INFO  ~ RESTEasy plugin: Found resource class: resources.HelloResource
21:46:18,482 WARN  ~ NoClassDefFoundError: Unable to load builtin provider: org.jboss.resteasy.plugins.providers.jackson.ResteasyJacksonProvider
21:46:18,564 INFO  ~ RESTEasy plugin: RESTEasy started
21:46:18,570 INFO  ~ Application 'test' is now started !
21:46:30,083 ERROR ~

@66i4nnpj8
rest.hello action not found

Action not found
Action rest.hello could not be found. Error raised is Controller controllers.rest not found

play.exceptions.ActionNotFoundException: Action rest.hello not found
        at play.mvc.ActionInvoker.getActionMethod(ActionInvoker.java:436)
        at play.mvc.ActionInvoker.invoke(ActionInvoker.java:76)
        at Invocation.HTTP Request(Play!)
Caused by: java.lang.Exception: Controller controllers.rest not found
        ... 3 more

有人知道问题出在哪里吗?

我有一个完整的应用程序可以完全使用RESTEasy Play模块。它应该可以帮助您设置自己的应用程序:

我有一个完整的应用程序,完全可以使用RESTEasy Play模块。它应该可以帮助您设置您的路由:

如果您在路由文件的末尾(在
/{controller}/{action}
路由之后)定义了resteasy路由,那么您就会遇到这个问题。
尝试在文件的开头移动resteasy路由声明。

如果在路由文件的结尾(在
/{controller}/{action}
路由之后)定义了resteasy路由,则会出现此问题。
尝试在文件开头移动resteasy路由声明。

这是一个相当老的问题,但我在尝试使用play编写我的第一个REST服务时也遇到了这个问题,所以我会在这里公布我的问题,以防其他人遇到这个问题

实际上,我没有意识到我需要在一个新项目上运行play eclipsify。在新项目中生成第一个REST服务的步骤实际上是:

  • 确保您引用了正确的播放jar

  • 将REST路径添加到routes文件。大概是这样的:

    GET /gimmeStuff Application.gimmeStuff public class Application extends Controller { public static void gimmeStuff() { renderText("STUFF!"); } } GET/gimmeStuff Application.gimmeStuff
  • 将该方法添加到适用的控制器(在我的例子中是应用程序)。如果全部正确,您的类将如下所示:

    GET /gimmeStuff Application.gimmeStuff public class Application extends Controller { public static void gimmeStuff() { renderText("STUFF!"); } } 公共类应用程序扩展控制器{ 公共静态无效gimmeStuff(){ renderText(“东西!”); } }
  • 最后。。。如果您尚未对项目运行play eclipsify,请执行以下操作:

    play eclipsify MyFirstRestProject 播放eclipsify MyFirstRest项目

一旦我完成了上述所有操作,我的问题就消失了。

这是一个相当老的问题,但我在尝试使用play编写我的第一个REST服务时也遇到了这个问题,所以我会在这里公布我的问题,以防其他人遇到这个问题

实际上,我没有意识到我需要在一个新项目上运行play eclipsify。在新项目中生成第一个REST服务的步骤实际上是:

  • 确保您引用了正确的播放jar

  • 将REST路径添加到routes文件。大概是这样的:

    GET /gimmeStuff Application.gimmeStuff public class Application extends Controller { public static void gimmeStuff() { renderText("STUFF!"); } } GET/gimmeStuff Application.gimmeStuff
  • 将该方法添加到适用的控制器(在我的例子中是应用程序)。如果全部正确,您的类将如下所示:

    GET /gimmeStuff Application.gimmeStuff public class Application extends Controller { public static void gimmeStuff() { renderText("STUFF!"); } } 公共类应用程序扩展控制器{ 公共静态无效gimmeStuff(){ renderText(“东西!”); } }
  • 最后。。。如果您尚未对项目运行play eclipsify,请执行以下操作:

    play eclipsify MyFirstRestProject 播放eclipsify MyFirstRest项目

完成上述所有操作后,我的问题就消失了。

您好,您可以附加您创建的类的源代码吗?以及您存储类的路径?嗨,您可以附加您创建的类的源吗?以及存储类的路径?