Не удалось инициализировать класс org.апаш.ось.клиент.AxisClient брошен, хотя axis jar был там


Я пишу плагин для nexus oss . где я использую оси для веб-звонков . Он бросает

InvocationTargetException: target: java.яз..NoClassDefFoundError: не удалось инициализировать класс org.апаш.ось.клиент.AxisClient

Поэтому я опасался, что Нексус не сможет найти мою банку оси, когда она бросит этот NoClassDefFoundError. поэтому я начал отладку шаг за шагом, чтобы проверить, знает ли nexus мой axis jar, и во время отладки я обнаружил, что управление идет внутри банки оси (поэтому мое предположение, что Нексус не видел банку оси, неверно ). Это шло внутри службы.java в axis и там код был похож на

protected AxisClient getAxisClient() {
    return new AxisClient(getEngineConfiguration());
}

/**
 * Constructs a new Service object - this assumes the caller will set
 * the appropriate fields by hand rather than getting them from the
 * WSDL.
 */
public Service() {
    engine = getAxisClient();
}

Это исключение было вызвано в строке engine = getAxisClient (); то есть фактически в строке return new AxisClient (getEngineConfiguration ()); внутри метода getAxisClient . так что, если он может найти службу.java, которая находится внутри axis.jar, не может быть никакой причины, почему он не может найти класс AxisClient, который находится в том же пакете в банке оси.

Так что, пожалуйста, помогите мне выяснить причины этого исключения.

Разве мою банку оси не забрал Нексус ? Как узнать, был ли сосуд принесен нексусом ?

1 2

1 ответ:

Мой босс помог мне найти ответ .

На самом деле это была проблема с общим журналом. Я загрузил общий журнал в свой Нексус .Нексус, который работал на сервере причала, сам имел общее ведение журнала, поэтому возник конфликт . Теперь я удалил свой журнал commons из дескриптора плагина. Затем проблема была решена, мой плагин начал работать .

Спасибо .