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.

  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. 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