【问题标题】:Moving Axis 1.4 stub project to a Maven based project (Type Access restriction)将 Axis 1.4 存根项目移动到基于 Maven 的项目(类型访问限制)
【发布时间】:2011-03-20 02:49:20
【问题描述】:

出于兼容性原因,我必须通过退出 wsdl 文件来构建 Axis 1.4 框架类。我使用 Axis 14 附带的 wsdl2java ant-task。

我在 Java SDK 1.6.0_18 上使用 MyEclipse 8.5,我将所需的库添加到我的构建路径中,一切正常。

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

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

我已经在这里阅读过类似的问题,但我不同意Access restriction on class due to restriction on required library 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 中的警告设置?

【问题讨论】:

    标签: java maven-2 axis


    【解决方案1】:

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

    Compilation errors on restricted classes

    使用 rt.jar 中的类的项目, 例如 com.sun.* (和其他一些) 可能会出现编译错误,例如: “访问限制:类型 RE 是 由于限制无法访问 所需库 /lib/rt.jar”。这样的错误 指示使用非 API 类和 这些访问规则由 Eclipse JDT。

    您可以将编译器设置更改为 在这些限制上不会失败 Window / 中的工作区设置 首选项 / Java / 编译器 / 错误/警告/已弃用和 受限 API / 禁止引用 (访问规则)/警告;要么 来自项目/属性的每个项目 / Java 编译器 / 错误/警告 / 已弃用和受限的 API / 禁止引用(访问规则)/ 警告

    【讨论】:

      【解决方案2】:

      MyEclipse 8.5 附带的 Maven2 插件配置了 JDK 1.4 的默认内置路径,我将这些更改为我的实际 JDK 1.6 安装,现在它可以正常工作了。

      【讨论】:

        猜你喜欢
        • 2012-05-01
        • 2014-09-19
        • 1970-01-01
        • 2018-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多