Maven RPM 插件中的可选映射部分?
Optional mapping sections in Maven RPM plugin?
我有一个 Maven RPM 插件映射:
<mapping>
<directory>/etc/myconfig</directory>
<configuration>true</configuration>
<sources>
<source>
<location>${project.build.directory}</location>
<includes>
<include>*.conf</include>
</includes>
</source>
</sources>
</mapping>
但是,根据打包过程,/etc 中可能有零个 .conf 文件。发生这种情况时,RPM 插件会显示:
[ERROR] Failed to execute goal org.codehaus.mojo:rpm-maven-plugin:2.1.2:rpm (default) on project clients:
Unable to copy files for packaging: You must set at least one file. -> [Help 1]
有什么方法可以让映射部分满意地包含零个文件?
我能想出的最好办法是省略 <includes>
标签,该标签采用 <location>
.
中指定的所有内容
The file or directory to include. If a directory is specified, all files and subdirectories are also included.
您需要在这些未指定包含模式的映射的路径中尽可能具体。我将 confs
添加到下面的位置以避免拉入 project.build.directory
中的所有其他内容。
即使没有选择文件,<directory>
仍然会被创建。
<mapping>
<directory>/etc/myconfig</directory>
<configuration>true</configuration>
<sources>
<source>
<location>${project.build.directory}/confs</location>
</source>
</sources>
</mapping>
我也遇到了同样的问题,正在努力解决。错误信息不是那么直观。这样的问题真的很难解决。
错误:
[错误]无法在项目XXX_assembly上执行目标org.codehaus.mojo:rpm-maven-plugin:2.1-alpha-3x:attached-rpm (generate-rpm):无法复制文件进行打包:你必须设置至少一个文件。 -> [帮助 1]
我使用的是以下版本的插件
*
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.1-alpha-3x</version>
*
下面是我来自插件
的映射标签
此映射试图将 batch-test-1.0.war 从 ../batch/target 位置复制到目标位置 ${app.prefix}/batch
问题是标签的 war 文件名称不存在且不正确。我给了错误的 war 文件名,所以 Maven 抱怨它应该 copy.i 通过给我的 war 文件提供正确的名称来更正它,如下所示。
batch-test-1.0.war
我有一个 Maven RPM 插件映射:
<mapping>
<directory>/etc/myconfig</directory>
<configuration>true</configuration>
<sources>
<source>
<location>${project.build.directory}</location>
<includes>
<include>*.conf</include>
</includes>
</source>
</sources>
</mapping>
但是,根据打包过程,/etc 中可能有零个 .conf 文件。发生这种情况时,RPM 插件会显示:
[ERROR] Failed to execute goal org.codehaus.mojo:rpm-maven-plugin:2.1.2:rpm (default) on project clients:
Unable to copy files for packaging: You must set at least one file. -> [Help 1]
有什么方法可以让映射部分满意地包含零个文件?
我能想出的最好办法是省略 <includes>
标签,该标签采用 <location>
.
The file or directory to include. If a directory is specified, all files and subdirectories are also included.
您需要在这些未指定包含模式的映射的路径中尽可能具体。我将 confs
添加到下面的位置以避免拉入 project.build.directory
中的所有其他内容。
即使没有选择文件,<directory>
仍然会被创建。
<mapping>
<directory>/etc/myconfig</directory>
<configuration>true</configuration>
<sources>
<source>
<location>${project.build.directory}/confs</location>
</source>
</sources>
</mapping>
我也遇到了同样的问题,正在努力解决。错误信息不是那么直观。这样的问题真的很难解决。
错误:
[错误]无法在项目XXX_assembly上执行目标org.codehaus.mojo:rpm-maven-plugin:2.1-alpha-3x:attached-rpm (generate-rpm):无法复制文件进行打包:你必须设置至少一个文件。 -> [帮助 1]
我使用的是以下版本的插件 *
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.1-alpha-3x</version>
* 下面是我来自插件
的映射标签此映射试图将 batch-test-1.0.war 从 ../batch/target 位置复制到目标位置 ${app.prefix}/batch
问题是标签的 war 文件名称不存在且不正确。我给了错误的 war 文件名,所以 Maven 抱怨它应该 copy.i 通过给我的 war 文件提供正确的名称来更正它,如下所示。 batch-test-1.0.war