我是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>