我正在使用maven程序集插件来压缩我的web应用程序dist文件夹。
我使用这个descriptorRef
文件:
<assembly>
<id>webapp-build</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>dist</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
</fileSets>
</assembly>
我将它用作父pom中的依赖项:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<dependencies>
<dependency>
<groupId>com.company</groupId>
<artifactId>build-tools</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>webapp-build</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptionRef>webapp-build</descriptionRef>
</descriptorRefs>
<basedir>${project.assembly.directory}</basedir>
</configuration>
</execution>
</executions>
</plugin>
根据使用此父pom的孩子,我想告诉maven程序集插件在哪个目录中必须使用webapp-build
程序集描述符。我尝试使用<basedir>
属性,但它没有使用它。有什么想法吗?
答案 0 :(得分:0)
descriptorRef is intended从classpath或使用预定义描述符加载程序集描述符。如果您想使用给定的描述符,则必须使用descriptors
,而不是这样:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>assemblies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
此外,maven-assembly-plugin:single
不存在basedir
配置元素
答案 1 :(得分:0)
<basedir>
不是assembly:single
的参数。有descriptorSourceDirectory
:
<强> descriptorSourceDirectory:强>
扫描描述符文件的目录。注意:这可能无法正常使用程序集组件。