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
- Java Developer Kitversie 8 of hoger. We raden versie 17 aan voor de beste ervaring.
- Gradle-
Een nieuw Gradle-project maken
In tegenstelling tot Maven heeft Gradle geen archetypesysteem om projecten op basis van sjablonen te bootstrappen. Het opstarten van een Gradle-project is mogelijk, maar het configureert geen specifieke aspecten van de Azure SDK voor Java, zoals de Maven-equivalent van. 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, waarna u een map hebt 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 te beginnen publiceert de Azure SDK voor Java-team de Azure SDK voor Java-client-BOM elke maand om het beheer van afhankelijkheden te vereenvoudigen. 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. U wordt aangeraden de nieuwste versie te gebruiken om te profiteren van de nieuwste functies van de Azure SDK voor Java-clientbibliotheken.
Zodra u afhankelijk bent van de Azure SDK voor Java BOM, kunt u bibliotheeksafhankelijkheden opnemen zonder hun versie op te geven. Deze versiewaarden worden automatisch opgezoekd in de Azure SDK voor Java BOM. 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. U wordt aangeraden de BOM te gebruiken om afhankelijkheden op elkaar af te stemmen en up-to-date te houden.
Een pakket opnemen dat niet in de BOM (stuklijst) staat
De BOM van de Azure SDK voor Java-client bevat alleen algemeen beschikbare (GA)-bibliotheken. Als u afhankelijk wilt zijn van een pakket dat nog in de bètaversie verkeert, of als het gaat om een andere bibliotheekversie dan degene die is opgenomen in de BOM, kunt u de Maven-afhankelijkheidsversie opgeven, samen met groupId
en artifactId
in de sectie 'Afhankelijkheden'. 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 runtime. We raden u aan om te vertrouwen 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 aan de slag te gaan, moet u GraalVM installeren en uw ontwikkelsysteem voorbereiden 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.
Met uw bestaande Gradle-project kunt u de GraalVM-instructies voor Gradle volgen over het toevoegen van GraalVM-ondersteuning aan uw project. Hiervoor hebt u vervolgens meer buildopties, waardoor u uw toepassing kunt compileren in de standaard Java-bytecode of in een native image, gecompileerd door GraalVM.
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.