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

出于兼容性原因,我必须从退出wsdl文件构建Axis 1.4骨架类。 我使用Axis 14提供的wsdl2java ant任务。

我在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

我已经在这里读过类似的问题,但是由于对所需库rt.jar的限制,我不同意在访问类限制上的答案。

因为在一个普通的Java项目中没有

由于限制而对班级进行访问限制

出现警告。

我的普通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中的警告设置?


这是仅在Eclipse下发生的吗? 如果是,您可以按照m2eclipse FAQ中的说明修改编译器设置:

在受限制的类上编译错误

使用来自rt.jar的类的项目(例如com.sun。*(以及其他项目))可能会出现如下编译错误:“访问限制:由于对所需库/lib/rt.jar的限制,无法访问类型RE。 这些错误表示使用非API类,这些访问规则由Eclipse JDT定义。

您可以更改编译器设置,使其在Window / Preferences / Java / Compiler / Errors / Warnings /弃用和受限制的API / Forbidden引用(访问规则)/ Warnings中的工作区设置中不会失败。 或项目/属性/ Java编译器的每个项目/错误/警告/弃用和受限制的API /禁止引用(访问规则)/警告


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

链接地址: http://www.djcxy.com/p/12815.html

上一篇: Moving Axis 1.4 stub project to a Maven based project (Type Access restriction)

下一篇: Random number generator only generating one random number