1

我正在尝试打包我自己的项目,其中包括其他项目的一部分。这是我的一个片段pom.xml

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>rpm-maven-plugin</artifactId>
  ...
  <mappings>
    ...
    <mapping>
      <directory>${install.target}/contrib</directory>
      <sources>
        <source>
          <location>src/main/resources</location>
          <includes>
            <include>contrib/**/*</include>
          </includes>
        </source>
      </sources>
    </mapping>
    ...
  </mappings>
</plugin>

但是,当我尝试构建 rpm 时,它会出错并显示类似于以下的消息(重复几次):

error: Two files on one line: /install/path/contrib/project/licences/Apache
error: File must begin with "/": Software
error: Two files on one line: /install/path/contrib/project/licences/Apache
error: File must begin with "/": Licence
error: Two files on one line: /install/path/contrib/project/licences/Apache
error: File must begin with "/": v2.0.txt

自然地,在另一个项目中有一个文件叫做Apache Software Licence v2.0.txt

有没有办法告诉 maven 在生成规范文件时引用文件名?看起来实际上是 rpmbuild 令人讨厌,但我不完全确定。

4

1 回答 1

0

http://jira.codehaus.org/browse/MRPM-102描述了插件无法正确处理文件名中的空格的问题。解析器将空格解释为文件之间的分隔符,并且构建失败。补丁已提交,并于 2012 年 4 月 14 日接受,最终与插件的 2.1 版一起发布。不确定是否可以使用每晚构建。

于 2012-04-27T01:19:59.877 回答