2011-06-07 61 views
1

我創建了一個測試應用程序並創建了hello rest easy class。然後我試着用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 

有誰知道問題是什麼?

+1

嗨,你可以附上你創建的類的來源?你存儲類的路徑是什麼? – 2011-06-07 11:24:47

回答

1

如果你在路由文件末尾定義了resteasy路由(在/{controller}/{action}之後),那麼你會遇到這個問題。 嘗試在文件的開頭移動resteasy路由聲明。

0

這是一個相當古老的問題,但是當我嘗試使用play來編寫我的第一個REST服務時,我也遇到了這個問題,所以會發布我的問題在這裏,以防其他人來這裏。

有效地,我沒有意識到我需要在新項目上運行eclipsify。步驟在實際上是一個新的項目產生的第一個REST的服務是:

  • 確保你所引用的正確發揮罐子......

  • 添加您的REST路徑路由文件。事情是這樣的:

    GET /gimmeStuff  Application.gimmeStuff
  • 的方法添加到應用控制器(在我的情況下,它的應用程序)。如果這是正確的類將是這個樣子:

    public class Application extends Controller { 
        public static void gimmeStuff() { 
         renderText("STUFF!"); 
        } 
    }
  • 最後...如果你還沒有這樣做已經運行發揮eclipsify對您的項目:

    play eclipsify MyFirstRestProject

一旦我做了所有上述我的問題消失了。

相關問題