我正在为 nexus oss 编写一个插件。我在哪里使用轴进行网络服务调用。它抛出一个
InvocationTargetException:目标:java.lang.NoClassDefFoundError:无法初始化类 org.apache.axis.client.AxisClient
所以如果nexus在抛出这个NoClassDefFoundError时找不到我的轴罐,我会很担心。所以我开始一步一步地调试,检查nexus是否知道我的axis jar,在调试时我发现控件进入了axis jar(所以我假设nexus没有看到axis jar是错误的)。它在轴上进入Service.java,代码就像
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();
}
它在 line engine = getAxisClient(); 处抛出此异常;这实际上是在行 return new AxisClient(getEngineConfiguration()); 在 getAxisClient 方法中。因此,如果它可以找到位于 axis.jar 中的 service.java ,那么它就没有任何理由找不到位于轴 jar 中的同一包中的 AxisClient 类。
所以你能帮我找出这个例外的原因吗?
我的轴罐不是由 nexus 获取的吗?如何查找 jar 是否由 nexus 获取?