Не удалось инициализировать класс 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 ответ:
Мой босс помог мне найти ответ .
На самом деле это была проблема с общим журналом. Я загрузил общий журнал в свой Нексус .Нексус, который работал на сервере причала, сам имел общее ведение журнала, поэтому возник конфликт . Теперь я удалил свой журнал commons из дескриптора плагина. Затем проблема была решена, мой плагин начал работать .
Спасибо .