zx_lxj 2017-05-25 09:10 采纳率: 0%
浏览 496

Java创建azure虚拟机的时候,资源组创建报错,请问怎么解决

ResourceGroup resourceGroup = azure.resourceGroups()
.define(SdkContext.randomResourceName("rgCOPD", 24))
.withRegion(regionID).create();
regionID这个值我用的是chinanorth,执行到create的时候会报一个java.lang.NoSuchMethodError: com.google.common.reflect.TypeToken.isSupertypeOf(Ljava/lang/reflect/Type;)Z错误,请问怎么解决。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 22:18
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题是由于在定义资源组时使用了不正确的类型。在Azure SDK for Java中,resourceGroup类的构造函数接受两个参数:一个region ID和一个name。但是,您正在使用randomResourceName方法来生成名称,这并不适用于定义资源组。

    为了解决这个问题,您可以将randomResourceName方法替换为您自己的命名规则。例如:

    public static ResourceGroup createResourceGroup(String name, String location) {
        return azure.resourceGroups()
            .define(name)
            .withLocation(location)
            .create();
    }
    

    然后,在创建资源组时,您可以像这样调用它:

    String regionID = "chinanorth";
    ResourceGroup resourceGroup = createResourceGroup("myResourceGroup", regionID);
    

    现在,当您尝试创建资源组时,应该不再遇到NoSuchMethodError错误。

    评论

报告相同问题?