我有一個項目正在Linux上構建,但需要在Windows上運行腳本。所以我生成了用於在Windows下啓動服務器的批處理文件。這些需要引用版本化的jar。我還用${project.version}
該版本標記了自述文件,以便使用者可以輕鬆查看該文件與哪個版本相關。maven assembly插件過濾一些文件,但不是其他文件
所以我創建一個裝配描述:
...
<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 ${project.version}
和啓動server.cmd我
VERSION = ${project.version}
和0之後並解壓縮生成的構件
我發現在自述:
README 1.0.3-SNAPSHOT
,並在啓動server.cmd
VERSION = ${project.version}
我在爲什麼它被替換一個文件中的損失是完全而不是在另一個。
很奇怪...... Maven有一些默認排除的擴展名,例如.jpg和.png,但.cmd不是其中之一。這是否與lineEnding部分有關?如果您嘗試將$ {..}放在該行的不同部分,即最後不正確? – artbristol 2011-04-01 14:42:32
不同的位置不幫忙。在此版本之前,它位於java命令行的類路徑定義中間 – 2011-04-07 08:04:56