首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试启动虚拟机时Azure ApplicationTokenCredentials中的评估错误(NoSuchMethodError)

尝试启动虚拟机时Azure ApplicationTokenCredentials中的评估错误(NoSuchMethodError)
EN

Stack Overflow用户
提问于 2020-06-19 06:35:12
回答 1查看 79关注 0票数 0

我有一个需要远程控制的Azure VM。我正在以预期的方式使用ApplicationTokenCredentials进行身份验证;

ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(client, tenant, key, AzureEnvironment.AZURE);

然后找到我的机器:

VirtualMachine vm = Azure .configure() .withLogLevel(LogLevel.NONE) .authenticate(credentials) .withSubscription(subscription) .virtualMachines() .getByResourceGroup(resourceGroup, machineName);

这基本上与这里的官方文档所示的方法相同;https://docs.microsoft.com/en-us/azure/developer/java/sdk/java-sdk-manage-virtual-machines?view=azure-java-stable

它使用一个VirtualMachine对象来工作、验证和设置我。我已经确认了这就是它,并且它就是我想要控制的机器。

但是,当我尝试使用start()方法启动它时,发生了以下情况:

代码语言:javascript
复制
Evaluation error (NoSuchMethodError) at com.microsoft.azure.credentials.ApplicationTokenCredentials.getToken (ApplicationTokenCredentials.java:138).

我的依赖关系树看起来很好。我使用的是来自maven central的com.microsoft.azure的最新版本(1.35.0);

代码语言:javascript
复制
    <dependency>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>azure</artifactId>
        <version>1.35.0</version>
    </dependency>

当然,这是父依赖关系,它拉下了一堆工件。不过,我的依赖关系树看起来还不错:

代码语言:javascript
复制
+- com.microsoft.azure:azure:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-client-runtime:jar:1.7.0:compile
[INFO] |  |  \- com.microsoft.rest:client-runtime:jar:1.7.0:compile
[INFO] |  |     +- com.squareup.retrofit2:retrofit:jar:2.5.0:compile
[INFO] |  |     +- com.squareup.okhttp3:okhttp:jar:3.12.6:compile
[INFO] |  |     |  \- com.squareup.okio:okio:jar:1.15.0:compile
[INFO] |  |     +- com.squareup.okhttp3:logging- 
interceptor:jar:3.12.2:compile
[INFO] |  |     +- com.squareup.okhttp3:okhttp- 
urlconnection:jar:3.12.2:compile
[INFO] |  |     +- com.squareup.retrofit2:converter- 
jackson:jar:2.5.0:compile
[INFO] |  |     |  \- com.fasterxml.jackson.core:jackson- 
databind:jar:2.9.4:compile
[INFO] |  |     +- com.fasterxml.jackson.datatype:jackson-datatype- 
joda:jar:2.10.0:compile
[INFO] |  |     |  \- com.fasterxml.jackson.core:jackson- 
annotations:jar:2.10.0:compile
[INFO] |  |     \- com.squareup.retrofit2:adapter-rxjava:jar:2.6.2:compile
[INFO] |  +- com.microsoft.azure:azure-client- 
authentication:jar:1.7.0:compile
[INFO] |  |  \- com.microsoft.azure:azure-annotations:jar:1.10.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-resources:jar:1.35.0:compile
[INFO] |  |  \- io.reactivex:rxjava:jar:1.3.8:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-storage:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-network:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-graph-rbac:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-keyvault:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-batch:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt- 
trafficmanager:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-dns:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-redis:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-appservice:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-locks:jar:1.35.0:compile
[INFO] |  +- javax.xml.bind:jaxb-api:jar:2.3.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-eventhub:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-cdn:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-sql:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-         
containerinstance:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-         
containerregistry:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt- 
containerservice:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-cosmosdb:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-search:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-msi:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-monitor:jar:1.35.0:compile
[INFO] |  +- com.microsoft.azure:azure-mgmt-servicebus:jar:1.35.0:compile
[INFO] |  \- com.microsoft.azure:azure-mgmt-batchai:jar:1.35.0:compile
[INFO] +- com.microsoft.azure:azure-mgmt-compute:jar:1.35.0:compile
[INFO] |  \- com.google.code.gson:gson:jar:2.2.4:compile

至少我在这里看不到任何明显的依赖冲突。我真的不知道该怎么做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-19 23:20:54

我最终建立了一个只有VM管理的测试项目,并发现在相同的依赖项上工作。

在仔细比较了两者之间的依赖关系后,我发现了一个差异;在我的测试项目上,com.microsoft.azure.adal4j包的版本是1.6.4,在我的生产应用程序上是1.0.0。

我不知道我的生产应用程序怎么会有一个更老的版本,因为所有的根azure依赖项都是相同的,但我在我的生产应用程序中添加了这个依赖项,解决了这个问题:

代码语言:javascript
复制
    <dependency>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>adal4j</artifactId>
        <version>1.6.4</version>
    </dependency>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62460442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档