我试图使用Java桌面应用程序将一些对象(字符串)发布到部署在WildFly应用程序服务器上的REST服务。
不幸的是,我没有在运行时为客户端提供Maven,因此我必须手动添加所需的JAR文件。然而即使使用这样的简单POST:
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文件添加到桌面应用程序中:
查看它们的内容,类 org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider 应打包成 resteasy-jackson2-provider-3.0.8.Final的.jar 即可。为什么不加载?
答案 0 :(得分:2)
问题不在于ResteasyJackson2Provider
缺失,而是由于依赖于其他罐子而导致该类无法加载(因为它会尝试自动注册自己)(&#39} ;为什么我们使用Maven ;-)。看看this post。
在那里你可以找到所有的依赖罐子,你可以在哪里下载它们,如果你还没有它们藏在某个地方。
答案 1 :(得分:0)
Maven是一个构建工具。 Maven是否可以在运行时,对您的客户来说无关紧要。
您可以使用Maven构建程序集或带阴影的JAR(胖jar,über-JAR),其中包括您的客户端以及RESTeasy的所有传递依赖项。