Aan de slag met Azure SDK en Gradle

In dit artikel leest u hoe u Gradle gebruikt om toepassingen te bouwen met de Azure SDK voor Java. In dit artikel stelt u een nieuw project in met Gradle, bouwt u projecten met Gradle en gebruikt u de systeemeigen hulpprogramma's voor installatiekopieën van GraalVM om platformspecifieke binaire bestanden te maken.

Voorwaarden

Een nieuw Gradle-project maken

In tegenstelling tot Maven heeft Gradle geen archetypesysteem om projecten op basis van sjablonen te bootstrappen. U kunt een Gradle-project bootstrapen, maar het configureert geen Azure SDK voor Java specifieke gegevens, zoals het Maven-equivalent. Als u de stappen wilt doorlopen, gebruikt u eerst de volgende opdracht om een nieuwe, lege map te maken vanaf de opdrachtregel:

gradle init --type java-application

U wordt gevraagd een korte reeks vragen te beantwoorden. Nadat u klaar bent, hebt u een map met een verzameling bestanden en submappen. Voer de volgende opdrachten uit om de build te controleren om ervoor te zorgen dat de gegenereerde bestanden worden gecompileerd:

gradle clean assemble test

U kunt nu doorgaan met het bewerken van het bestand build.gradle in de app-map. Om het beheer van afhankelijkheidsversies eenvoudiger te maken, publiceert het Azure SDK for Java-team maandelijks de Azure SDK for Java client BOM. Dit BOM-bestand bevat alle Algemeen beschikbare Azure SDK voor Java-clientpakketten met hun compatibele afhankelijkheidsversie.

Als u afhankelijkheidsversies wilt gebruiken voor een Azure SDK voor Java-clientbibliotheek die zich in de BOM bevindt, neemt u het volgende codefragment op in het project build.gradle-bestand. Vervang de tijdelijke aanduiding {bom_version_to_target} door de nieuwste versie van de Azure SDK voor Java BOM.

dependencies {
    implementation platform('com.azure:azure-sdk-bom:{bom_version_to_target}')
}

U vindt alle releases van de Azure SDK voor Java-client BOM op azure-sdk-bom. Gebruik de nieuwste versie om te profiteren van de nieuwste functies van de Azure SDK voor Java clientbibliotheken.

Nadat u de Azure SDK voor Java BOM bent gaan gebruiken, kunt u afhankelijkheden voor bibliotheken opnemen zonder hun versie op te geven. De Azure SDK voor Java BOM biedt deze versiewaarden automatisch. Als u bijvoorbeeld een azure-storage-blob-afhankelijkheid wilt opnemen, voegt u de volgende regels toe aan het bestand build.gradle:

dependencies {
    implementation 'com.azure:azure-storage-blob'
}

Als u Gradle gebruikt om projectafhankelijkheden te definiëren, kunt u het beheer van uw projecten eenvoudiger maken. Met de Azure SDK BOM kunt u uw project versnellen terwijl u op de lange termijn meer vertrouwen hebt in uw versiebeheer van afhankelijkheden. Gebruik de BOM om afhankelijkheden op elkaar afgestemd en actueel te houden.

Een pakket opnemen dat niet in de BOM is opgenomen

De Azure SDK voor Java-client-BOM bevat alleen algemeen beschikbare (GA)-bibliotheken. Als u afhankelijk wilt zijn van een pakket dat nog in bèta is, of van een andere bibliotheekversie dan de versie die in de BOM is opgenomen, geeft u in het gedeelte met afhankelijkheden de versie van de Maven-afhankelijkheid op, samen met de groupId en artifactId. U kunt ervoor kiezen om afhankelijkheden te hebben die gebruikmaken van BOM-versies en -afhankelijkheden met overschreven versies in hetzelfde project POM-bestand, zoals wordt weergegeven in het volgende voorbeeld:

dependencies {
    // Use the dependency version that is in the BOM
    implementation 'com.azure:azure-messaging-eventhubs'

    // Override the Service Bus dependency version specified in the BOM
    implementation 'com.azure:azure-messaging-servicebus:7.4.0'
}

Als u deze methode gebruikt en versies rechtstreeks in uw project opgeeft, kunnen er conflicten optreden met de versie van afhankelijkheden. Deze conflicten ontstaan omdat verschillende pakketten mogelijk afhankelijk zijn van verschillende versies van algemene afhankelijkheden en deze versies mogelijk niet compatibel zijn met elkaar. Wanneer er conflicten optreden, kunt u ongewenst gedrag ervaren tijdens het compileren of tijdens runtime. Vertrouw op versies die zich in de Azure SDK BOM bevinden, tenzij dat nodig is. Zie Problemen met afhankelijkheidsversies oplossenvoor meer informatie over het omgaan met afhankelijkheden wanneer u de Azure SDK voor Java gebruikt.

Een native image bouwen met GraalVM

U kunt GraalVM gebruiken om een native image van een Java-toepassing te maken. GraalVM compileert de Java-code van tevoren in systeemeigen machinecode, wat in bepaalde situaties drastische prestatieverbeteringen kan opleveren. De Azure SDK voor Java biedt de benodigde metagegevens in al zijn clientbibliotheken ter ondersteuning van GraalVM systeemeigen afbeeldingscompilatie.

Om te beginnen installeer je GraalVM en bereid je je ontwikkelsysteem voor op het compileren van native images. Het installatieproces voor GraalVM is eenvoudig en de GraalVM-documentatie bevat stapsgewijze instructies voor het installeren van GraalVM en met behulp van GraalVM voor het installeren van systeemeigen installatiekopieën. Volg de vereisten sectie zorgvuldig om de benodigde systeemeigen compilers voor uw besturingssysteem te installeren.

Volg met uw bestaande Gradle-project de GraalVM-instructies voor Gradle over het toevoegen van GraalVM-ondersteuning aan uw project. Door deze stap uit te voeren krijgt u meer buildopties, zodat u uw applicatie kunt compileren naar de standaard-Java-bytecode of naar een native image dat door GraalVM is gecompileerd.

Vervolgens bent u klaar om een native image build uit te voeren. U kunt standaard Gradle-hulpprogramma's gebruiken om de GraalVM-native image te gebruiken. Gebruik voor Gradle de volgende opdracht:

gradle nativeCompile

Nadat u deze opdracht hebt uitgevoerd, voert GraalVM een systeemeigen uitvoerbaar bestand uit voor het platform waarop deze wordt uitgevoerd. Het uitvoerbare bestand wordt weergegeven in de map Gradle /app/build/native/nativeCompile van uw project. U kunt uw toepassing nu uitvoeren met dit uitvoerbare bestand en moet op dezelfde manier worden uitgevoerd als een standaard Java-toepassing.

Volgende stappen