当前,我正在使用maven-assembly-plugin通过“ mvn clean package”创建一个zip文件。整个过程工作正常,该zip文件包含我需要的所有内容,但是有一个新要求要求创建受密码保护的zip文件。我用谷歌搜索,但没有发现任何用处;有需要执行此任务的人吗?
当前插件的定义方式如下:
<build>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>create-distribution</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>assembly/zip.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</build>
和zip.xml是以这种方式定义的:
<?xml version="1.0" encoding="UTF-8"?>
<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>zip</id>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<outputDirectory>directory1/</outputDirectory>
<directory>directory1</directory>
</fileSet>
<fileSet>
<outputDirectory>/</outputDirectory>
<includes>
<include>config.properties</include>
</includes>
</fileSet>
</fileSets>
<files>
<file>
<source>target/data-jar-with-dependencies.jar</source>
<destName>data-jar-with-dependencies.jar</destName>
</file>
</files>
</assembly>
答案 0 :(得分:0)
您必须使用外部程序再次解压缩和压缩档案。例如7z:
7z e Unprotected.zip 7z a Protected.zip -pPASSWORD UNPROTECTEDFILENAME
如果要将其集成到构建生命周期中,则需要maven exec-plugin在打包阶段之后执行这两个命令。