无法使用 axis2 实例化 ADBDataSource 类型
Cannot instantiate the type ADBDataSource using axis2
使用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 依赖项...)。
- 在 "ADBDataSource" 上按住 Ctrl 并单击(在 Eclipse/IntelliJ 中)。是哪个版本?对我来说是 1.5.6,但在我的 pom.xml 中只有
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2</artifactId>
<version>1.7.4</version>
</dependency>
- 但是,这个子项目依赖于另一个使用 1.5.6 的子项目(我通过使用 Notepad++ "Search / Find in Files" 菜单选项在整个项目中搜索“1.5.6”找到了它)。
- 然后在对另一个项目的依赖中,我排除了 1.5.6 :
<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>
- 添加排除后,项目确实使用了1.7.4版本
我在从 WSDL 生成 JAVA 存根时遇到了同样的问题。以下是我用来解决问题的步骤:
- 按照以下 link 生成存根:https://support.pcmiler.com/en/support/solutions/articles/19000053078-java-client-axis2-code-generator-for-eclipse。
现在对此 link 进行了一些小调整。在完成上述 link 中提到的第 10 和 11 点之后,仅使用 axis2-1.7.9 生成存根,并且在生成存根时使用 \axis2-1.7.9\lib 中提到的罐子在你的构建路径中。
希望这能解决您的问题。
使用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 依赖项...)。
- 在 "ADBDataSource" 上按住 Ctrl 并单击(在 Eclipse/IntelliJ 中)。是哪个版本?对我来说是 1.5.6,但在我的 pom.xml 中只有
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2</artifactId>
<version>1.7.4</version>
</dependency>
- 但是,这个子项目依赖于另一个使用 1.5.6 的子项目(我通过使用 Notepad++ "Search / Find in Files" 菜单选项在整个项目中搜索“1.5.6”找到了它)。
- 然后在对另一个项目的依赖中,我排除了 1.5.6 :
<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>
- 添加排除后,项目确实使用了1.7.4版本
我在从 WSDL 生成 JAVA 存根时遇到了同样的问题。以下是我用来解决问题的步骤:
- 按照以下 link 生成存根:https://support.pcmiler.com/en/support/solutions/articles/19000053078-java-client-axis2-code-generator-for-eclipse。
现在对此 link 进行了一些小调整。在完成上述 link 中提到的第 10 和 11 点之后,仅使用 axis2-1.7.9 生成存根,并且在生成存根时使用 \axis2-1.7.9\lib 中提到的罐子在你的构建路径中。
希望这能解决您的问题。