Добавление jar в classpath для выполнения требований - PullRequest
0 голосов
/ 21 февраля 2019

Я получаю эту ошибку java.lang.NoCLassDefFoundError: org / apache / http / HttpEntity при запуске приложения.Он компилируется и строит нормально.Но затем я пытаюсь использовать EJB, который импортирует HttpClient, я получаю эту ошибку.

Как я прочитал, мне нужно импортировать jar (httpclient-4.5 и httpcore-4.4.5) во время выполнения.Как мне это сделать?

У меня есть эти банки в моем скрипте gradle.Я бы подумал, что компиляция позаботится о включении всех классов, которые ему нужны для сборки, и будет хороша для запуска.

Я имею в виду HttpClient в классе.Ниже приведена упрощенная версия реализации:

import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class httpClientImpl implements httpClient {

    public CloseTrailerResponse closeActionFromAdapter(requestObject request) throws IOException {

        CloseableHttpClient client = HttpClients.createDefault();
        HttpPost httpPost = new HttpPost(trailerCloseAdapterURL);

        try {
            ..setting stuff     
            CloseableHttpResponse response = client.execute(httpPost);      
            }       
        }
        catch(Exception ex) {
            //exceptions logged
        }
       finally {
        client.close();
       }
        return response;
    }
}

Этот клиент создается и вызывается в EJB.

import com.client.httpClientImpl;

private HttpClientImpl httpClientInstance = new HttpClientImpl();
private Request request;
private Response response;

//In a method the http client is called...
response = httpClientInstance.closeActionFromAdapter(request); 

Когда я получаю доступ к этому классу во время выполнения, я получаю классdef не найден.

Ошибка в том, что ему нужен класс во время выполнения или это что-то еще?Если ему нужен класс во время выполнения, как мне добавить его в classpath?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...