Packen von Java- oder Scala-Handler-Code mit Maven

Wenn Sie Maven zum Erstellen und Packen Ihres Codes verwenden, können Sie das Maven Assembly Plugin verwenden, um eine JAR-Datei zu erstellen, die alle Abhängigkeiten enthält.

  1. Erstellen Sie in dem Verzeichnis Ihres Projekts (z. B. hello-snowpark/) ein Unterverzeichnis mit dem Namen assembly/.

  2. Erstellen Sie in diesem Verzeichnis eine Assembly-Deskriptordatei, die angibt, dass Sie Abhängigkeiten zu Ihrer JAR-Datei hinzufügen möchten.

    Ein Beispiel dazu finden Sie unter jar-with-dependencies.

  3. Fügen Sie im Assembly-Deskriptor ein <dependencySet>-Element hinzu, das die Snowpark-Bibliothek von Ihrer JAR-Datei ausschließt.

    Beispiel:

    <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

    Weitere Informationen zu Elementen in einem Assembly-Deskriptor finden Sie unter Assembly Deskriptor-Format.

  4. Fügen Sie in Ihrer pom.xml-Datei unter <project> » <build> » <plugins> ein <plugin>-Element für das Maven Assembly Plugin hinzu.

    Fügen Sie außerdem unter <configuration> » <descriptors> einen <descriptor> hinzu, der auf die in den vorherigen Schritten erstellte Assembly-Deskriptordatei verweist.

    Beispiel:

    <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