首页 > 解决方案 > maven-assembly-plugin 创建没有文件的 zip

问题描述

maven-assembly-plugin 生成空的 zip 存档,但源文件夹不为空。

插件配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>${maven-assembly-plugin.version}</version>
    <dependencies>
         <dependency>
              <groupId>com.my.group</groupId>
              <artifactId>maven-assemblies</artifactId>
              <version>${bigdata-assemblies.version}</version>
         </dependency>
     </dependencies>
     <executions>
         <execution>
             <id>airflow-dags</id>
             <phase>package</phase>
             <goals>
                 <goal>single</goal>
             </goals>
             <configuration>
                 <descriptorRefs>
                     <descriptorRef>airflow-dags-assembly</descriptorRef>
                 </descriptorRefs>
                 <appendAssemblyId>true</appendAssemblyId>
             </configuration>
         </execution>
     </executions>
 </plugin>

我的气流-dags-assembly.xml:

<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
    <id>airflow-dags</id>
    <formats>
        <format>zip</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>src/main/airflow-dags</directory>
            <outputDirectory>/</outputDirectory>
            <fileMode>0644</fileMode>
        </fileSet>
        <fileSet>
            <directory>target/main/airflow-dags</directory>
            <outputDirectory>/</outputDirectory>
            <fileMode>0644</fileMode>
        </fileSet>
    </fileSets>
</assembly>

我在 src/main/airflow-dags 和 target/main/airflow-dags 中有文件,但我不断收到空的 zip 文件:

在此处输入图像描述

标签: mavenmaven-pluginmaven-assembly-plugin

解决方案


尝试按照程序集文档includes 中的说明添加到文件集。

<fileSet>
    <directory>src/main/airflow-dags</directory>
    <outputDirectory>/</outputDirectory>
    <fileMode>0644</fileMode>
    <includes>
        <include>**/*</include>
    </includes>
</fileSet>  

根据需要调整文件模式。


推荐阅读