使用Eclipse EE和Eclipse Axis2 Code Generator插件后,我得到了两个操作生成的java文件,但错误相同:
Cannot instantiate the type ADBDataSource ConcatRequest.java
Cannot instantiate the type ADBDataSource ConcatResponse.java
这是问题所在:
org.apache.axiom.om.OMDataSource dataSource = new
org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);
此代码出现在ConcatRequest.java和ConcatResponse.java中并导致错误。我看到ADBDataSource是抽象的,无法实例化。
我对Axis完全不熟悉,我不知道如何解决这个问题。请帮忙。
由于axis2-adb
的版本不匹配,我遇到了这个问题。处理这个问题最安全的方法是看一下eclipse插件的lib文件夹(eclipse/(dropins|plugins)/ ... .jar
)。然后查找依赖项的版本并在构建路径中包含它们(您实际需要的那些)。
老话题,但我正在研究一个有几个子项目的遗留项目。在其中一个子项目中,我遇到了同样的信息。它也是一个版本问题(Maven依赖...)。
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2</artifactId>
<version>1.7.4</version>
</dependency>
<dependency>
<groupId>com.group.id</groupId>
<artifactId>anotherproject</artifactId>
<version>version</version>
<exclusions>
<exclusion>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2</artifactId>
</exclusion>
</exclusions>
</dependency>
我从WSDL生成JAVA Stubs时遇到了同样的问题。以下是我用来解决问题的步骤:
现在这个链接有一个小小的调整。在执行上述链接中提到的10号和11号点之后,仅使用axis2-1.7.9生成存根,并在生成它们时使用构建路径中\ axis2-1.7.9 \ lib中提到的jar。
希望这能解决您的问题。