Empaquetage du code du gestionnaire Java ou Scala avec Maven

Si vous utilisez Maven pour construire et empaqueter votre code, vous pouvez utiliser le plugin Maven Assembly pour créer un fichier JAR contenant toutes les dépendances.

Une fois que vous avez un fichier JAR, vous pouvez le télécharger vers une zone de préparation Snowflake, puis y faire référence dans une instruction IMPORTS lorsque vous créez une fonction ou une procédure. Pour plus d’informations sur le chargement des fichiers JAR, voir Mettre les dépendances à la disposition de votre code. Pour plus d’informations sur le choix d’un code en ligne ou sur une zone de préparation, voir Conserver le code du gestionnaire en ligne ou dans une zone de préparation.

Pour créer un fichier JAR avec le code de votre gestionnaire, procédez comme suit.

  1. Dans le répertoire de votre projet, (par exemple, hello-snowpark/), créez un sous-répertoire nommé assembly/.

  2. Dans ce répertoire, créez un fichier descripteur d’assemblage qui spécifie que vous voulez inclure les dépendances dans votre fichier JAR.

    Pour un exemple, voir jar-with-dependencies.

  3. Si votre projet nécessite la bibliothèque Snowpark, excluez son fichier JAR de l’archive de sortie car la bibliothèque est déjà incluse dans Snowflake.

    Dans le descripteur d’assemblage, ajoutez un élément <dependencySet> qui exclut la bibliothèque Snowpark de votre fichier JAR.

    Par exemple :

    <assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
      <id>jar-with-dependencies</id>
      <formats>
         <format>jar</format>
      </formats>
      <includeBaseDirectory>false</includeBaseDirectory>
      <dependencySets>
        <dependencySet>
          <outputDirectory>/</outputDirectory>
          <useProjectArtifact>false</useProjectArtifact>
          <unpack>true</unpack>
          <scope>provided</scope>
          <excludes>
            <exclude>com.snowflake:snowpark</exclude>
          </excludes>
        </dependencySet>
      </dependencySets>
    </assembly>
    
    Copy

    Pour plus d’informations sur les éléments d’un descripteur d’assemblage, voir Format du descripteur d’assemblage.

  4. Dans votre fichier pom.xml, sous <project> » <build> » <plugins>, ajoutez un élément <plugin> pour le plugin Maven Assembly.

    En outre, sous <configuration> » <descriptors>, ajoutez un <descriptor> qui pointe vers le fichier de descripteur d’assemblage que vous avez créé aux étapes précédentes.

    Par exemple :

    <project>
      [...]
      <build>
        [...]
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
              <descriptors>
                <descriptor>src/assembly/jar-with-dependencies.xml</descriptor>
              </descriptors>
            </configuration>
            [...]
          </plugin>
          [...]
        </plugins>
        [...]
      </build>
      [...]
    </project>
    
    Copy