将我的 Java Maven 构建作为 Maven 安装运行,并使用 Maven 程序集插件 (maven-assemble-plugin),我可以将未构建项目中的一些文件放入我喜欢的任何格式(dir、zip、tar) - a就我而言, tar 。因此,当我运行 Maven 安装并查看我的存储库时,我得到了预期的 war 文件和使用 Maven-assemble-plugin 创建的 tar。
所以我构建的项目具有以下内容:
- 存储库/project.war
- 存储库/files.tar
如何将 files.tar 文件移至更深的目录,以便我的结构为
- 存储库/project.war
- repository/anotherDirectory/files.tar?
更多信息
这是我的 POM 中的插件:
<project>
[...]
<build>
[...]
<plugins>
[...]
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<descriptors>
<descriptor>src/assembly/repository.xml</descriptor>
</descriptors>
</configuration>
</plugin>
[...]
</project>
这是repository.xml 文件:
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>repository</id>
<formats>
<format>tar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${project.basedir}/files</directory>
<outputDirectory>/</outputDirectory>
<filtered>true</filtered>
<includes>
<include>**/*.*</include>
</includes>
</fileSet>
</fileSets>
</assembly>
(可能的解决方案是使用另一个程序集 xml 文件来查找我组装的 files.tar 并将其放入 dir 类型中?我会在哪个目录中找到我的 files.tar?)
最佳答案
如果“repository”表示本地存储库或远程存储库,则不能这样做。本地存储库的格式是固定的。目录和文件名是根据 Maven 坐标(groupId、artifactId、version、classifier、extension)计算的。
关于java - 使用 Maven- assembly-plugin 构建 Java 项目,并使用 tar 存储库更深的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60006389/