2014-11-03 117 views
2


我想張貼一些對象(絃樂)部署到使用Java桌面應用程序WildFly應用服務器上的REST服務。 不幸的是,我沒有在運行時爲客戶端提供Maven,所以我必須手動添加所需的JAR文件。然而,即使一個簡單的POST這樣的:無法加載內置提供商:org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider

public static void testParam() { 
    Client client = ClientBuilder.newClient(); 
    String s="DatiAtto.xml"; 
    WebTarget myResource = client.target(BASE_URL+"/create"); 
    Response rs = myResource.request() 
    .post(Entity.text(s), Response.class); 
} 

我得到的回報爲:
無法加載內置提供商:到目前爲止org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider
我已經添加了以下JAR文件到桌面應用程序:

  • JAXRS-API 3.0.8.Final.jar
  • RestEasy的-JAXB提供商-3.0.8.Final.jar
  • RestEasy的-jackson2提供商 - 3.0.8.Final.jar
  • RestEasy的客戶端 - 3.0.8.Final.jar
  • resteasy-jaxrs-3.0.8.Final的.jar

看着他們的內容,類org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider應該打包成RestEasy的-jackson2提供商,3.0.8.Final.jar。爲什麼不被加載?

回答

2

問題不在於ResteasyJackson2Provider丟失,而是因爲依賴於其他jar(這就是爲什麼我們使用Maven ;-),該類無法加載(因爲它嘗試自動註冊)。看看this post。 在那裏你可以找到所有依賴的罐子,並且你可以把它們全部下載下來,如果你還沒有藏到某個地方的話。

0

Maven是一個構建工具。 Maven是否可用在運行時應該與您的客戶無關。

您可以使用Maven構建包含您的客戶端和RESTeasy的所有傳遞依賴項的程序集或着色JAR(fat jar,über-JAR)。