我正在使用maven程序集插件从同一项目中的另一个maven模块创建zip
打包资源。
Parent_project
|_module1
|_resources
|_templates
|_abc.xml
|_module2
|_resources
|_build-config.xml
下面是我的build-config.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>bundle</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${basedir}/../module1/src/main/resources/templates</directory>
<includes>
<include>*.xml</include>
</includes>
<outputDirectory>/testdir</outputDirectory>
</fileSet>
</fileSets>
</assembly>
我能够将资源复制到zip文件根目录内名为testdir
的子目录中。 (我可以通过查看zip文件而不提取它来观察它。)但是,如果我尝试提取zip文件,则会出现以下错误。
There was an error while extracting the sample.zip. "sample/testdir/abc.xml": Not a directory.
我正在将Ubuntu 18与Maven组件插件版本-1.1.2一起使用
有人可以在这里给我指出这个问题吗?
答案 0 :(得分:0)
我尝试了一段时间,并观察到以下情况。通过UI提取选项会导致错误。如果我使用unzip ./myzip.zip -d .
命令,则提取成功。
但是我发现了以下解决方法。
首先创建一个空目录。
<fileSet> <!-- Create empty directory -->
<outputDirectory>./templates</outputDirectory>
<excludes>
<exclude>**/*</exclude>
</excludes>
</fileSet>
将资源复制到目录中。
<fileSet>
<directory>${basedir}/test</directory>
<includes>
<include>*.xml</include>
</includes>
<outputDirectory>./templates</outputDirectory>
</fileSet>
此方法可解决提取zip时的问题。干杯!