2014-09-27 2 views
1

Просто, когда я запускаю этот код:Service или свойство не зарегистрирована ошибка

Configuration azureConfig = ManagementConfiguration.configure(
    new URI("https://management.core.windows.net/"), 
    "asdasdasd", 
    "server.keystore", 
    "asdasdasd", 
    KeyStoreType.jks 
); 
ManagementClient client = ManagementService.create(azureConfig); 
LocationsListResponse response = client.getLocationsOperations().list(); 
ArrayList locations = response.getLocations(); 

for(int i=0; i<locations.size(); i++){ 
    System.out.println(((LocationsListResponse.Location)locations.get(i)).getDisplayName()); 
} 

я получаю это:

00:52:04 [SEVERE] java.lang.RuntimeException: Service or property not registered: com.microsoft.windowsazure.management.ManagementClient interface com.microsoft.windowsazure.management.ManagementClient 
00:52:04 [SEVERE]  at com.microsoft.windowsazure.core.DefaultBuilder.build(DefaultBuilder.java:197) 
00:52:04 [SEVERE]  at com.microsoft.windowsazure.Configuration.create(Configuration.java:113) 
00:52:04 [SEVERE]  at com.microsoft.windowsazure.management.ManagementService.create(ManagementService.java:46) 
00:52:04 [SEVERE]  at {LINE OF CODE THAT CONTAINS ManagementClient client = ManagementService.create(azureConfig);} 

В Интернете есть только один вопрос об этом, о Android и не имеет ясный ответ ... Кто-то решил эту проблему?

Я запускаю его под OpenLogic 6.5 (на основе CentOS) в виртуальной машине от Azure с Java 1.8.

EDIT: Я создал новый проект и запустил его из затмения. Я получаю правильные результаты, но когда я запускаю его из командной строки (java -jar test.jar), я получаю точно такую ​​же ошибку.

+0

привет @ Жорж, вы могли решить эту проблему. Я столкнулся с подобной проблемой. Не могли бы вы помочь мне решить это. Спасибо. –

+0

@AnkushReddySugureddy Давным-давно от этого. Не помнишь, как я отошел от Лазури. Извините: - Если я получил ответ, это помогло мне точно. –

ответ

1

Я также столкнулся с подобной проблемой. Явно заданный загрузчик контекстного класса решил проблему

// Get current context class loader 
ClassLoader contextLoader = Thread.currentThread().getContextClassLoader(); 
// Change context classloader to class context loader 
Thread.currentThread().setContextClassLoader(AzureManagementServiceDelegate.class.getClassLoader)); 
try { 
    // Call Azure API and reset back the context loader 
} catch (Exception e) { 
    // handle exceptions 
} finally { 
// Reset back class loader 
Thread.currentThread().setContextClassLoader(contextLoader); 
} 
+0

Привет @snallami, когда я пытаюсь изменить код с помощью этой строки Thread.currentThread(). SetContextClassLoader (ServiceBusContr act.class.getClassLo ader)) Я получаю сообщение об ошибке, ожидая, что ожидаемый идентификатор, но класс, найденный рядом с ServiceBusContract.class и I см. «))« В конце строки вы могли бы сообщить мне, если что-то не хватает. Спасибо за помощь. - –

Смежные вопросы