Megosztás a következőn keresztül:


Az Azure SDK és az Apache Maven használatának első lépései

Ez a cikk bemutatja, hogyan hozhat létre alkalmazásokat az Apache Maven használatával a Java-hoz készült Azure SDK-val. Ebben a cikkben beállít egy új projektet a Mavennel, projekteket készít a Mavennel, és a GraalVM natív képeszközzel platformspecifikus natív bináris fájlokat hoz létre.

Az Azure SDK for Java-projekt tartalmaz egy Maven-archetípust, amely felgyorsíthatja egy új projekt rendszerindítását. Az Azure SDK for Java Maven archetípus egy új alkalmazást hoz létre fájlokkal és az ajánlott eljárásokat követő címtárstruktúrával. Az Azure SDK for Java Maven archetípus különösen egy új Maven-projektet hoz létre a következő funkciókkal:

  • A legújabb azure-sdk-bom BOM-kiadás függősége, amely biztosítja az Azure SDK for Java összes függőségének igazítását, és a lehető legjobb fejlesztői élményt nyújtja.
  • A GraalVM natív képfordításának beépített támogatása.
  • Új projekt létrehozása java-ügyfélkódtárakhoz készült Azure SDK-val.
  • Integráció a Java-hoz készült Azure SDK buildelési eszközével, amely a projekt buildidejének elemzését teszi lehetővé, hogy számos ajánlott eljárás legyen követve.

Előfeltételek

Új Maven-projekt létrehozása

Az Azure SDK for Java Maven archetype a Maven Centralban van közzétéve. Ez azt jelenti, hogy az archetípussal közvetlenül elindíthat egy új alkalmazást a következő paranccsal:

mvn archetype:generate \
    -DarchetypeGroupId=com.azure.tools \
    -DarchetypeArtifactId=azure-sdk-archetype

Miután megadta ezt a parancsot, egy sor üzenet kéri a projekt részleteit, hogy az archetípus a megfelelő kimenetet hozza létre. Az alábbi táblázat azokat a tulajdonságokat ismerteti, amelyekhez értékeket kell megadnia:

Name Leírás
groupId (Kötelező) A létrehozott projekthez létrehozott POM-fájlban használni kívánt Maven groupId .
artifactId (Kötelező) A létrehozott projekthez létrehozott POM-fájlban használni kívánt Maven artifactId .
package (Nem kötelező) A létrehozott kód beírásához a csomag neve. Ha nincs megadva, akkor következtetünk groupId rá.
azureLibraries (Nem kötelező) Az Azure SDK for Java-kódtárak vesszővel tagolt listája a Maven-összetevő azonosítóikkal. Az ilyen összetevők azonosítóinak listáját az Azure SDK-kiadásokban találja.
enableGraalVM (Nem kötelező) hamis , amely azt jelzi, hogy a létrehozott Maven POM-fájl nem támogatja az alkalmazás natív képre való fordítását a GraalVM használatával; ellenkező esetben igaz. Az alapértelmezett érték igaz.
javaVersion (Nem kötelező) A létrehozott projekt (például 8, 11 vagy 17) létrehozásakor megcélzott JDK minimális verziója. Az alapértelmezett érték a legújabb LTS-kiadás (jelenleg 17). A minimális érték 8.
junitVersion (Nem kötelező) A JUnit függőségként való belefoglalásának verziója. Az alapértelmezett érték 5. Érvényes értékek 4 és 5.

Alternatív megoldásként ezeket az értékeket is megadhatja, amikor meghívja a korábban bemutatott archetípus-parancsot. Ez a megközelítés például automatizálási célokra hasznos. Az értékeket paraméterként a paraméternévhez való hozzáfűzés -D szabványos Maven-szintaxisával adhatja meg, például:

-DjavaVersion=17

Java-verzió támogatása

Ajánlott eljárásként java LTS-kiadást kell használnia az éles környezetben való üzembe helyezéskor. Alapértelmezés szerint az Azure SDK Maven archetípus a legújabb LTS-kiadást választja ki, amely jelenleg egy Java 17 alapkonfigurációt állít be. A paraméter beállításával azonban felülbírálhatja az alapértelmezett viselkedést javaVersion .

Az Azure SDK for Java buildelési eszköz használata

Az Azure SDK for Java projekt egy Maven-buildelési eszközt szállít, amelyet a projektekbe belefoglalhat. Ez az eszköz helyileg fut, és nem továbbít adatokat a Microsoftnak. Az eszközt úgy konfigurálhatja, hogy jelentést hozzon létre, vagy bizonyos feltételek teljesülése esetén meghiúsuljon a buildelés, ami hasznos lehet számos ajánlott eljárásnak, például az alábbi eljárásoknak való megfelelés biztosításához:

  • A BOM helyes használatának ellenőrzése, beleértve a azure-sdk-for-java legújabb verzió használatát is, és függőségi verziók definiálása a Java-ügyfélkódtárakhoz készült Azure SDK-ban. További információ: Azure SDK for Java hozzáadása meglévő projektszakaszhoz .
  • Annak ellenőrzése, hogy a korábbi Azure-ügyfélkódtárak nincsenek-e használatban újabb és továbbfejlesztett verziók esetén.

A jelentés betekintést nyújt a béta API-k használatába is.

A buildelési eszközt a projekt Maven POM-fájljában konfigurálhatja az alábbi példában látható módon. Mindenképpen cserélje le a {latest_version} helyőrzőt az online listában szereplő legújabb verzióra.

<build>
  <plugins>
    <plugin>
      <groupId>com.azure.tools</groupId>
      <artifactId>azure-sdk-build-tool</artifactId>
      <version>{latest_version}</version>
    </plugin>
  </plugins>
</build>

Miután hozzáadta a buildelési eszközt egy Maven-projekthez, az eszközt hívással mvn compile azure:runfuttathatja. A megadott konfigurációtól függően számíthat a létrehozási hibákra vagy a létrehozott jelentésfájlokra, amelyek a súlyosabb problémák előtt tájékoztatják Önt a lehetséges problémákról. Javasoljuk, hogy futtassa ezt az eszközt a CI/CD-folyamat részeként. A buildelési eszköz fejlődésével új kiadásokat teszünk közzé, és azt javasoljuk, hogy a fejlesztők gyakran ellenőrizzenek új kiadásokat és frissítéseket.

A buildelési eszköz konfigurálható bizonyos funkciók engedélyezésére vagy letiltására. Ehhez a konfigurációhoz adjon hozzá egy szakaszt configuration a korábban bemutatott XML-fájlhoz. Ezen a szakaszon belül konfigurálja az alábbi táblázatban látható beállításokat. A kifejezetten nem említett konfigurációk a táblában megadott alapértelmezett értéket veszi igénybe.

Tulajdonság neve Default value Description
validateAzureSdkBomUsed true Biztosítja, hogy a projekt megfelelően hivatkozzon az Azure-sdk-for-java BOM-ra , hogy az Azure SDK for Java ügyfélkódtár-függőségei a BOM-ból vehessék át a verzióikat.
validateLatestBomVersionUsed true Biztosíthatja, hogy a függőségek naprakészek legyenek, ha egy újabb Azure-sdk-for-java BOM létezik, a jelentéskészítéssel (vagy a build sikertelenségével) gondoskodhat arról, hogy a függőségek naprakészek legyenek. Mindig megtalálhatja a legújabb verziót online.
validateBomVersionsAreUsed true Biztosítja, hogy ha egy függőség elérhető az azure-sdk-for-java BOM-ból, a verziót ne bírálja felül manuálisan.
validateNoDeprecatedMicrosoftLibraryUsed true Biztosítja, hogy a projekt ne használja az előző generációs Azure-kódtárakat. Az új és az előző generációs kódtárak egyetlen projektben való használata valószínűleg nem okoz problémát, de az optimálisnál rosszabb fejlesztői élményt eredményez.
validateNoBetaLibraryUsed false Egyes Java-beli Azure SDK-ügyfélkódtárak bétaverzióval rendelkeznek, és verziósztringek formájában x.y.z-beta.n. A funkció engedélyezése biztosítja, hogy a rendszer ne használ bétakódtárakat.
validateNoBetaApiUsed true Az Azure SDK for Java-ügyfélkódtárakban előfordul, hogy ga-kiadásokkal rendelkeznek, és a metódusok megjegyzésekkel @Betavannak eljegyzve. Ez az ellenőrzés ellenőrzi, hogy használ-e ilyen metódusokat.
sendToMicrosoft true Megadja, hogy a buildjelentést telemetria céljából küldje-e el a Microsoftnak. Ez segít a fejlesztői csapatnak abban, hogy hol rangsorolhatja a dokumentációt, a mintákat és a továbbfejlesztett kényelmi API-kat. A rendszer nem küld felhasználó-azonosításra alkalmas tartalmat.
reportFile - (Nem kötelező) Megadja a buildjelentés JSON formátumban való írásának helyét. Ha nincs megadva, a rendszer nem ír jelentést, és megjelenik a build összegzése vagy a megfelelő buildelési hibák a terminálban.

Azure SDK for Java hozzáadása meglévő projekthez

A függőségi verziókezelés egyszerűbbé tétele érdekében az Azure SDK for Java csapata havonta közzéteszi az Azure SDK for Java ügyféloldali BOM-t . Ez a BOM-fájl tartalmazza az összes általánosan elérhető Azure SDK for Java-ügyfélcsomagot a kompatibilis függőségi verzióval.

Ha a BOM-ban található Azure SDK for Java ügyfélkódtár függőségi verzióit szeretné használni, a projekt pom.xml fájljában adja meg az alábbi kódrészletet. Cserélje le a {bom_version_to_target} helyőrzőt a Java BOM-hoz készült Azure SDK legújabb kiadására. Cserélje le a {artifactId} helyőrzőt az Azure Service SDK-csomag nevére.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-sdk-bom</artifactId>
      <version>{bom_version_to_target}</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>{artifactId}</artifactId>
  </dependency>
</dependencies>

Az Azure SDK for Java-ügyféloldali BOM összes kiadását megtalálja az azure-sdk-bom webhelyen. Javasoljuk, hogy használja a legújabb verziót az Azure SDK for Java ügyfélkódtárak legújabb funkcióinak kihasználásához.

Ha a Maven használatával definiálja a projektfüggőségeket, egyszerűbbé teheti a projektek kezelését. Az Azure SDK BOM és az Azure SDK Maven archetípusával felgyorsíthatja a projektet, miközben hosszabb távon magabiztosabban használhatja a függőségi verziószámozást. Javasoljuk, hogy a BOM használatával tartsa a függőségek igazítását és naprakészen tartását.

Az Azure SDK BOM hozzáadása mellett javasoljuk az Azure SDK for Java buildelési eszköz használatát is. Ez az eszköz segít diagnosztizálni az alkalmazások létrehozásakor gyakran előforduló számos problémát, a cikkben korábban ismertetett módon.

Csomag belefoglalása nem az anyagjegyzékbe

Az Azure SDK for Java ügyféloldali BOM csak általánosan elérhető (GA) kódtárakat tartalmaz. Ha egy még bétaverziós csomagtól vagy a BOM-ban szereplőtől eltérő kódtárverziótól szeretne függeni, a Maven függőségi verzióját a függőségi szakaszban és artifactId a groupId függőségi szakaszban is megadhatja. Dönthet úgy, hogy olyan függőségekkel rendelkezik, amelyek AJ-verziókat és függőségeket használnak felüldinált verziókkal ugyanabban a projekt POM-fájlban, ahogyan az alábbi példában látható:

<dependencies>
  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-messaging-eventhubs</artifactId> <!-- Use the dependency version that is in the BOM -->
  </dependency>
  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-messaging-servicebus</artifactId>
    <version>7.4.0</version> <!-- Override the Service Bus dependency version specified in the BOM -->
  </dependency>
</dependencies>

Ha ezt a módszert használja, és közvetlenül a projektben adja meg a verziókat, előfordulhat, hogy függőségi verzióütközések lesznek. Ezek az ütközések azért merülnek fel, mert a különböző csomagok a közös függőségek különböző verzióitól függhetnek, és előfordulhat, hogy ezek a verziók nem kompatibilisek egymással. Ütközések esetén a fordítási időben vagy a futtatókörnyezetben nemkívánatos viselkedés tapasztalható. Javasoljuk, hogy szükség esetén az Azure SDK BOM-ban lévő verziókra támaszkodik. További információ a függőségek kezeléséről a Java-hoz készült Azure SDK használatakor: Függőségi verzióütközések elhárítása.

Natív rendszerkép létrehozása a GraalVM használatával

A GraalVM használatával létrehozhat egy Java-alkalmazás natív rendszerképét . A GraalVM előre lefordítja a Java-kódot natív gépi kódra, ami bizonyos helyzetekben drasztikus teljesítménynövekedést eredményezhet. Az Azure SDK for Java minden ügyfélkódtárában biztosítja a szükséges metaadatokat a GraalVM natív képfordításának támogatásához.

Az első lépésekhez telepítenie kell a GraalVM-et, és elő kell készítenie a fejlesztői rendszert natív képek összeállítására. A GraalVM telepítési folyamata egyszerű, a GraalVM dokumentációja pedig részletes útmutatást nyújt a GraalVM telepítéséhez és a GraalVM natív rendszerkép telepítéséhez. Kövesse az előfeltételek szakaszt, és telepítse az operációs rendszerhez szükséges natív fordítókat.

Az Azure SDK for Java Maven archetípusa konfigurálhatja a buildet a GraalVM natív rendszerkép-fordításának támogatásához, de hozzáadhatja egy meglévő Maven-buildhez is. A Mavenre vonatkozó utasításokat a GraalVM webhelyén találja.

Ezután készen áll egy natív rendszerkép-build futtatására. A GraalVM natív rendszerképét a standard Maven-eszközök használatával használhatja. A Maven esetében használja a következő parancsot:

mvn clean package -Pnative

A parancs futtatása után a GraalVM natív végrehajtható fájlt ad ki ahhoz a platformhoz, amelyen fut. A végrehajtható fájl megjelenik a projekt Maven /target könyvtárában. Most már futtathatja az alkalmazást ezzel a végrehajtható fájllal, és a szokásos Java-alkalmazáshoz hasonlóan kell végrehajtania.

További lépések