用Maven [duplicate]创建一个具有所有依赖项的zip

|| 这个问题已经在这里有了答案:
已邀请:
您需要一个自定义程序集描述符来执行所需的操作。它是bin和jar-with-dependencies预定义描述符的组合。在
src/main/assembly
文件夹中创建了一个名为
assembly.xml
的自定义程序集描述符。 这是一个示例,基本上是添加了依赖集的bin描述符:
    <assembly xmlns=\"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0\" 
  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
  xsi:schemaLocation=\"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd\">
  <id>bin</id>
  <formats>
    <format>tar.gz</format>
    <format>tar.bz2</format>
    <format>zip</format>
  </formats>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <outputDirectory>/</outputDirectory>
      <includes>
        <include>README*</include>
        <include>LICENSE*</include>
        <include>NOTICE*</include>
      </includes>
    </fileSet>
    <fileSet>
      <directory>${project.build.directory}/site</directory>
      <outputDirectory>docs</outputDirectory>
    </fileSet>
  </fileSets>
  <dependencySets>
    <dependencySet>
      <outputDirectory>/</outputDirectory>
      <useProjectArtifact>true</useProjectArtifact>
      <scope>runtime</scope>
    </dependencySet>
  </dependencySets>
</assembly>
然后将pom更改为使用描述符而不是descriptorRef来告诉它自定义描述符在哪里。
<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2.1</version>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/assembly.xml</descriptor>
          </descriptors>
        </configuration>
        [...]
</project>
在这里看看Example 502 ...有一个示例,说明如何将所有依赖项等打包到tar.gz / zip等中。
看一下fat-jar插件。

要回复问题请先登录注册