我已经配置了生成“ tar.gz”文件的Maven程序集插件。
但是,当我解压缩时,它以某种方式在开头包含“安装”文件夹:
/install/lib
/install/scripts
我的要求是,在解压缩后,它应该具有如下文件夹,无安装目录:
/lib
/scripts
我的pom.xml插件:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>install</finalName>
<descriptors>
<descriptor>assembly/app-assembly.xml</descriptor>
</descriptors>
<tarLongFileMode>posix</tarLongFileMode>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
app-assembly.xml:
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>myapp</id>
<formats>
<format>tar.gz</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.basedir}</directory>
<excludes>
<exclude>src/**</exclude>
<exclude>readme.md</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>lib</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
</assembly>
感谢任何帮助或指导。感谢您的阅读。
https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html
includeBaseDirectory:在最终存档中包含基本目录。例如,如果要创建一个名为“ your-app”的程序集,则将includeBaseDirectory设置为true将创建一个包含此基本目录的存档。如果将此选项设置为false,则创建的归档文件会将其内容解压缩到当前目录。默认值为true。