Azure Java SDK — куда делись классы

Я использую Java SDK, чтобы попытаться автоматизировать некоторые лазурные задачи, такие как запуск сервера и завершение работы сервера. Я использовал версию 0.9.0 java sdk от maven.

           <dependency>
                <groupId>com.microsoft.azure</groupId>
                <artifactId>azure-svc-mgmt</artifactId>
                <version>0.9.0</version>
            </dependency>   

            <dependency>
                <groupId>com.microsoft.azure</groupId>
                <artifactId>azure-svc-mgmt-compute</artifactId>
                <version>0.9.0</version>
            </dependency>

Этот код скомпилирован и успешно запущен в eclipse

 package com.services.servers.operations.azure;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

import com.microsoft.windowsazure.Configuration;
import com.microsoft.windowsazure.core.utils.KeyStoreType;
import com.microsoft.windowsazure.exception.ServiceException;
import com.microsoft.windowsazure.management.compute.ComputeManagementClient;
import com.microsoft.windowsazure.management.compute.ComputeManagementService;
import com.microsoft.windowsazure.management.compute.VirtualMachineOperations;
import com.microsoft.windowsazure.management.configuration.ManagementConfiguration;

public class AzureTest {

    String uri = "https://management.core.windows.net/";
    String subscriptionId = "dasdas9-86da-4343-a1f4-24c20864e166";
    String keyStoreLocation = "C:\\Users\\test\\Desktop\\azure\\testKeystore.jks";
    String keyStorePassword = "password";

    public boolean startVirtualMachine(String serviceName, String deploymentName, String virtualMachineName){

        boolean isSuccess = true;

        try {            

            VirtualMachineOperations virtualMachineOperations = null;

            Configuration config = ManagementConfiguration.configure(
                        new URI(uri), 
                          subscriptionId,
                          keyStoreLocation, 
                          keyStorePassword, 
                          KeyStoreType.jks 
                      );

            ComputeManagementClient computeManagementClient = ComputeManagementService.create(config);

            virtualMachineOperations = computeManagementClient.getVirtualMachinesOperations();

            virtualMachineOperations.beginStarting(serviceName, deploymentName, virtualMachineName);

        } catch (IOException e) {
            System.out.println("An IOException has occured. Exception: " +e);
            isSuccess = false;
        }  catch (ServiceException e) {
            System.out.println("A ServiceException has occured. Exception: " + e);
            isSuccess = false;
        } catch (URISyntaxException e) {
            System.out.println("A URISyntaxException has occured. Exception: " + e);
            isSuccess = false;
        }         


        return isSuccess;
    }

}

Когда я обновляюсь до последней версии SDK — 0.9.1 — следующие классы больше не существуют.

import com.microsoft.windowsazure.Configuration;
import com.microsoft.windowsazure.core.utils.KeyStoreType;
import com.microsoft.windowsazure.exception.ServiceException;
import com.microsoft.windowsazure.management.configuration.ManagementConfiguration;

Я не мог найти ничего в Интернете, чтобы указать, куда ушли эти классы - устарели ли они или больше в другую библиотеку.

Если у кого-нибудь есть идеи, какие классы мне следует использовать вместо этого или какие библиотеки они могли переместить, это было бы здорово. Или если кто-нибудь может предложить какие-либо улучшения в приведенном выше коде для запуска сервера, который был бы очень признателен

Спасибо, Дэмиен.


person Damien    schedule 09.01.2016    source источник


Ответы (2)


Я попытался воспроизвести проблему, я получил ошибку Failed to read artifact descriptor for com.microsoft.azure:azure-svc-mgmt...jar:0.9.0.

Похоже, проблема вызвана репозиторием maven для загрузки зависимостей версии 0.9.1 Microsoft Azure SDK для управления.

Я предлагаю вам пока использовать версию 0.9.0.

Если вам нужно использовать версию 0.9.1, вы можете вручную добавить полный список maven для библиотек и их зависимостей в файл pom.xml или загрузить и добавить все файлы библиотек в путь к классам проекта вручную.

person Peter Pan    schedule 11.01.2016
comment
Привет Питер. спасибо, что вернулись ко мне. Да, я пока остановился на версии 0.9.0. Я просматривал документы API (azure.github.io/azure-sdk-for -java), и нигде не говорилось, устарели ли классы, поэтому мне было интересно то же самое о репозитории maven. Кроме того, знаете ли вы, есть ли страница для отображения последних документов API? например a azure.github.io/azure-sdk-for-java/latest введите адрес? - person Damien; 11.01.2016
comment
@Damo Страница azure.github.io/azure-sdk-for-java как статическая веб-страница, созданная jekyll и размещенная на Github, которая показывает последние документы API только в том случае, если связанный проект выпускает новую версию и генерирует новые документы javadoc. Для страницы нет пути latest. - person Peter Pan; 11.01.2016

перейдите по адресу http://go.microsoft.com/fwlink/?linkid=690320&clcid=0x409, загрузите файл PackageForAzureLibrariesForJava.zip и поместите эти jar-файлы в путь сборки вашего проекта или добавьте зависимость в файл pom, если вы используете maven. Я проверил это в моем местном. Оно работает.

person Alex Chen-WX    schedule 13.01.2016