Java 使用Jersey客户端获取错误
我正在使用jersey客户端将数据推送到本地主机。这是我的密码-Java 使用Jersey客户端获取错误,java,json,service,jersey-client,Java,Json,Service,Jersey Client,我正在使用jersey客户端将数据推送到本地主机。这是我的密码- public CloudConnection(JSONObject jsonPush) throws ClientProtocolException, IOException, JSONException { ClientConfig config = new DefaultClientConfig(); Client client = Client.create(config); WebResource
public CloudConnection(JSONObject jsonPush) throws ClientProtocolException, IOException, JSONException {
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource webResource = client.resource(UriBuilder.fromUri("http://localhost/visual/savedata.php").build());
ClientResponse response = webResource.path("restPath").path("resourcePath").type(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON).post(ClientResponse.class, jsonPush);
}
当我在Eclipse中执行此操作时,它工作正常,并且使用savedata.php插入本地主机上的db,并使用recoord。但当我为我的项目制作一个可运行的jar并运行jar时,它就会抛出错误-
a message body writer for java type, class org.codehaus.jettison.json.JSONObject, and MIME media type, application/json was not found
当从可运行jar执行时,如何使其正常工作?您必须将Jersey client.jar放在exectuable.jar和Jersey.jar的
类路径上
如果您正在使用Maven,并且应该使用Maven来构建您的工件,那么您可以使用shade
插件,它将在单个可执行的.jar文件中创建代码的Uberjar
,以及代码的所有依赖项。这样,您就不必担心在命令行上指定所有依赖项及其可传递依赖项。显示有关如何从可执行文件.jar启动应用程序的完整命令行