2013-07-23 3 views
0

Я использую джерси-клиент для перемещения данных на локальный хост. Вот мой код -Ошибка при использовании клиента-клиента

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, он отлично работает и БД на моем локальном хосте вставляется с помощью recoord savedata.php. Но как только я сделать работоспособный баночку моего проекта и запустить банку он бросает ошибку -

a message body writer for java type, class org.codehaus.jettison.json.JSONObject, and MIME media type, application/json was not found 

Как я могу сделать эту работу обычно при выполнении из работоспособный баночке?

+1

показать полную командную строку о том, как вы запускаете приложение из исполняемого файла .jar –

ответ

1

У вас должен быть клиент Джерси .jar на classpath exectuable .jar, а также Джерси .jar.

Если вы используете Maven, и вы должны использовать Maven для создания ваших артефактов, вы можете использовать плагин shade и это создаст Uberjar вашего кода, и все зависимости кода в одном исполняемом .jar файл. Тогда вам не нужно беспокоиться о том, чтобы указать все зависимости и их транзитивные зависимости в командной строке.

Смежные вопросы