初始化常量 on if java

Initilize constant on if java

我有 class:

@WebServiceClient(name = "Test", wsdlLocation = ????)
public class WSSerfvice
    extends Service

对于wsdlLocation我需要设置变量,变量的值将根据情况设置。 但是我的 wsdlLocation 向我询问常量 ,因为我不确定我必须将哪个值设置为 wsdlLocation

我有全局 class,我在上面为 class 设置 wsdlLocation 以设置 ???:

        String wsdlLocation;
        if(env.toLowerCase().equals("case1")) {
            wsdlLocation = "case1"
        } else (env.toLowerCase().equals("case2")) {
            wsdlLocation = "case2"
        } 

如果我使 wsdlLocation final 编译异常。

如何为我的 ???? 设置变量?在注释中

似乎无法在运行时修改常量字段值,因为它是在编译期间内联的。反思也无济于事。

对于您的情况,IMO,最好将 wsdlLocation 设置为相对路径,指向类路径中的 wsdl 文件。在这种情况下,您可以根据您的环境提供不同的 wsdl 文件。您可以找到许多示例,说明如何为您的 Web 服务实现完成此操作。