maven汇编插件过滤一些文件,但不过滤其他文件
我有一个项目正在Linux上构建,但需要在windows上运行脚本。因此,我生成批处理文件,用于在windows下启动服务器。这些需要引用一个版本化的jar。我还用maven汇编插件过滤一些文件,但不过滤其他文件,maven,maven-assembly-plugin,Maven,Maven Assembly Plugin,我有一个项目正在Linux上构建,但需要在windows上运行脚本。因此,我生成批处理文件,用于在windows下启动服务器。这些需要引用一个版本化的jar。我还用${project.version}版本标记自述文件,以便uer可以轻松查看文件所属的版本 因此,我创建了一个程序集描述符: ... <files> <file> <source>README</source> <outputDirector
${project.version}
版本标记自述文件,以便uer可以轻松查看文件所属的版本
因此,我创建了一个程序集描述符:
...
<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>
...
在启动server.cmd中,我有
VERSION = ${project.version}
在mvn assembly:assembly
之后,解压缩生成的工件
我在自述中发现:
README 1.0.3-SNAPSHOT
在start-server.cmd中
VERSION = ${project.version}
我完全不知道为什么它被替换在一个文件中而不是另一个文件中。您是否遇到了本文讨论的问题,这与
start server.cmd
和maven资源插件中的@symbol有关 非常奇怪。。。Maven有一些默认排除的扩展名,如.jpg和.png,但.cmd不是其中之一。这和行尾部分有关吗?如果您尝试将${..}放在行的不同部分,即不在末尾,会怎么样?不同的位置没有帮助。在这个版本之前,它是在java命令行中的类路径定义中间,在论坛消失时,bug是
VERSION = ${project.version}