Jan*_*Jan 15 maven maven-assembly-plugin
也许我是盲人,但maven组件插件可以创建一个包含当前project.jar和所有依赖jar的zip文件吗?"bin"id只包含我的project.jar,jar-with-dependencies将所有内容放在一个我不喜欢的jar中.
小智 28
您需要一个自定义程序集描述符来执行您想要的操作.它是bin和jar-with-dependencies预定义描述符的组合.创建了assembly.xml在src/main/assembly文件夹中调用的自定义程序集描述符.
这是一个基本上是添加了依赖关系集的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>
Run Code Online (Sandbox Code Playgroud)
然后更改你的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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32026 次 |
| 最近记录: |