如何使用Maven创建包含依赖项的自定义zip文件



我是Maven的新手,需要创建一个;自定义";zip,主要包含:

  • 我的类的罐子
  • 我用来构建的一些(但不是全部(依赖项:这些依赖项是在Maven中声明的(例如,这些不是项目中管理的本地副本(

所需的ZIP文件将具有以下结构:

  • META-INF/
    • 一些自定义描述符.xml
  • lib/
    • myLib.jar
    • dependency1.jar
    • dependency2.jar

到目前为止,我知道组装插件是交易的工具,但我不知道如何执行两个步骤:

  • 为二进制文件创建jar
  • 将这个jar添加到一起和一些特定的依赖项

我不确定我是否能经受住一切。但我认为你必须首先复制依赖项(之后没有在罐子里(

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <archive>
           <manifest>
                <addClasspath>true</addClasspath>
                <mainClass>com.demo.App</mainClass>
                <classpathPrefix>lib/</classpathPrefix>
            </manifest>
        </archive>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>copy-dependencies</id>
                <phase>package</phase>
                <goals>
                    <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                    <includeScope>runtime</includeScope>
                    <outputDirectory>${project.build.directory}/lib/</outputDirectory>
                    <excludeScope>test</excludeScope>
                </configuration>
            </execution>
     </executions>
</plugin>

之后,您可以将汇编插件与描述符xml文件一起使用,如下所示:

<assembly>
    <id>zip</id>
    <formats>
        <format>zip</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>${project.build.directory}/lib</directory>
            <outputDirectory>lib</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>${project.build.directory}</directory>
            <outputDirectory></outputDirectory>
            <includes>
                <include>*.jar</include>
            </includes>
        </fileSet>
    </fileSets>
</assembly>

相关内容

  • 没有找到相关文章

最新更新