首页 文章

将Axis 1.4存根项目移动到基于Maven的项目(类型访问限制)

提问于
浏览
1

出于兼容性原因,我必须从退出wsdl文件构建Axis 1.4框架类 . 我使用Axis 14提供的wsdl2java ant-task .

我在Java SDK 1.6.0_18上使用MyEclipse 8.5,我在构建路径中添加了所需的库,一切都很顺利 .

现在我将我的正常项目移动到Apache Maven2项目,因为我添加了警告后得到的依赖项(~500):

描述资源路径位置类型访问限制:由于对所需库的限制,无法访问构造函数QName(String,String)/usr/local/uvst/standard/jdk1.6.0_18/jre/lib/rt.jar

我已经在这里阅读了类似的问题,但我不同意Access restriction on class due to restriction on required library rt.jar?的答案 .

因为在正常的Java项目中 no

由于限制而对课程的访问限制

出现警告 .

我的普通Java项目中的类路径设置包含所有随最新发布的Axis 1.4一起提供的库(我知道它相当陈旧) .

我的pom.xml的依赖部分:

<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis-jaxrpc</artifactId>
<version>1.4</version>
</dependency>

QName类位于axis-jaxrpc.jar中!

是否有可能使事情正确,不会从库中删除类文件或禁用IDE中的警告设置?

2 回答

  • 0

    这只会在Eclipse下发生吗?如果是,您可以修改编译器设置,如m2eclipse FAQ中所述:

    受限类的编译错误使用来自rt.jar的类的项目,例如com.sun . *(以及其他一些类)可能会出现以下编译错误:“访问限制:由于对所需库/ lib的限制,无法访问类型RE /rt.jar” . 此类错误表示使用非API类,这些访问规则由Eclipse JDT定义 . 您可以在Window / Preferences / Java / Compiler / Errors / Warnings / Deprecated和受限API /禁止参考(访问规则)/警告中更改编译器设置以使工作区设置中的这些限制失败;或来自Project / Properties / Java Compiler / Errors / Warnings / Deprecated and restricted API / Forbidden reference(access rules)/ Warnings中的per-project

  • 0

    随MyEclipse 8.5一起提供的Maven2插件使用JDK 1.4配置默认的内置路径,我将这些更改为我的实际JDK 1.6安装,现在它可以正常工作 .

相关问题