有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将java web服务代码从java 1.4升级到java 1.7时web服务出错

我们有一个用java版本1.4和axis 1.4编写的Webercie代码 现在我们正试图升级到Java1.7,在使用Java1.7版本编译时,我发现了以下错误

[javac]
^ [javac](使用-source 5或更高版本将'enum'用作关键字)

[javac] C:\xxx\adapter\xyz\src\abc\java\com\a\b\c\d\schema\e

_原型soapstub。java:30:警告:从第5版开始,“enum”是一个关键字,并且 m

不能用作标识符

[javac]         oper.setUse(org.apache.axis.enum.Use.ENCODED);

[javac]                                     ^
[javac]   (use -source 5 or higher to use 'enum' as a keyword)
[javac] C:\xxx\adapter\xyz\src\abc\java\com\a\b\c\d\schema\e

_原型soapstub。java:41:警告:从第5版开始,“enum”是一个关键字,而m 不能用作标识符

[javac]         oper.setStyle(org.apache.axis.enum.Style.RPC);

[javac]                                       ^
[javac]   (use -source 5 or higher to use 'enum' as a keyword)

[javac] C:\xxx\adapter\xyz\src\abc\java\com\a\b\c\d\schema\e

_原型soapstub。java:42:警告:从第5版开始,“enum”是一个关键字,并且 m

不能用作标识符

[javac]         oper.setUse(org.apache.axis.enum.Use.ENCODED);

你能建议如何解决这个问题吗


共 (2) 个答案

  1. # 1 楼答案

    Java5添加了一个语言特性,称为枚举

    来自Java 5的枚举不能用作标识符(方法名、变量名、包的一部分),因为它是关键字

    您必须使用较新版本的库

  2. # 2 楼答案

    查看Javadocs for apache axis 1.4,您将看到org.apache.axis.enum.Use已被弃用。您应该将所有引用更改为使用org.apache.axis.constants.Scope。这将使您能够使用enum关键字作为标识符,正如您所发现的,您不能再这样做了

    顺便说一句,Axis1.4已经有近十年没有更新了。现在可能是时候开始研究在一些仍然保留的标准中重写它了。JavaEE有一个integrated web service framework,通常比Axis更易于使用,并且仍然可以积极维护。但是,这将代表一次重大的重写,因此这可能不是您的立即选择