在Maven构建中,我想下载并解压keycloak的tar.gz发行版。
这是我对maven-依赖-插件的相关配置
<execution>
<id>unpack-keycloak</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-server-dist</artifactId>
<version>${keycloak.version}</version>
<type>tar.gz</type>
<outputDirectory>/opt/jboss/keycloak</outputDirectory>
<includes>**/*</includes>
</artifactItem>
</artifactItems>
</configuration>
</execution>不幸的是,这会导致将存档解压缩到/opt/jboss/keycloak/keycloak-10.0.1中,而不是/opt/jboss/keycloak。有没有办法摆脱中间目录?
显然,我知道在解压缩后移动存档的很多方法,但是我正在这个执行中寻找一个解决方案,因为我已经执行了相同插件的后续执行,期望发行版已经正确到位。
发布于 2020-05-20 05:24:34
来自文档:https://maven.apache.org/plugins/maven-dependency-plugin/examples/unpacking-filemapper.html
见第21至26行
OP:编辑:
这是正确的答案,但由于文档根本不明显,下面是一个工作配置
<execution>
<id>unpack-keycloak</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-server-dist</artifactId>
<version>${keycloak.version}</version>
<type>tar.gz</type>
<outputDirectory>/opt/jboss/keycloak</outputDirectory>
<includes>**/*</includes>
<fileMappers>
<org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
<pattern>^\Qkeycloak-${keycloak.version}/\E</pattern>
<replacement>./</replacement>
</org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
</fileMappers>
</artifactItem>
</artifactItems>
</configuration>
</execution>https://stackoverflow.com/questions/61903986
复制相似问题