【问题标题】:maven assembly plugin filters some files, but not othersmaven 程序集插件过滤一些文件,但不过滤其他文件
【发布时间】:2011-04-01 13:34:38
【问题描述】:

我有一个项目正在 Linux 上构建,但需要在 Windows 上运行脚本。所以我生成了用于在 windows 下启动服务器的批处理文件。这些需要引用版本化的 jar。我还用 ${project.version} 版本标记 README 文件,以便用户可以轻松查看该文件属于哪个版本。

所以我创建了一个程序集描述符:

...
<files>
    <file>
        <source>README</source>
        <outputDirectory>/</outputDirectory>
        <filtered>true</filtered>
    </file>
    <file>
        <source>start-server.cmd</source>
        <outputDirectory>/</outputDirectory>
        <filtered>true</filtered>
        <lineEnding>dos</lineEnding>
    </file>
</files>
...

README 文件中有一行

     README ${project.version}

start-server.cmd 我有

     VERSION = ${project.version}

mvn assembly:assembly 之后解压生成的工件

我在自述文件中找到:

     README 1.0.3-SNAPSHOT

在 start-server.cmd 中

     VERSION = ${project.version}

我完全不知道为什么它被替换在一个文件中而不是另一个文件中。

【问题讨论】:

  • 非常奇怪... Maven 有一些默认排除的扩展名,例如 .jpg 和 .png,但 .cmd 不是其中之一。它与 lineEnding 部分有关吗?如果您尝试将 ${..} 放在该行的不同部分,即不放在最后会怎样?
  • 不同的位置没有帮助。在此版本之前,它位于 java 命令行上的类路径定义的中间

标签: maven maven-assembly-plugin


【解决方案1】:

您是否遇到了forum 中讨论的问题,这与start-server.cmdmaven resource plugin 中的@ 符号有关?

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-05-12
  • 1970-01-01
  • 1970-01-01
  • 2013-04-02
  • 1970-01-01
  • 2010-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多