如何使用 Maven 程序集插件过滤 Shell 脚本
我正在尝试使用 Maven 程序集插件过滤我的 shell 脚本。其他属性和 xml 文件已正确过滤。但是,我在 shell 脚本的日志中收到以下消息。
相关的程序集描述符。
<file>
<source>src/main/config/default/buildcron.csh</source>
<outputDirectory>/bin</outputDirectory>
<filtered>true</filtered>
</file>
这是不过滤日志中上述脚本的消息。 文件 buildcron.csh 具有经过过滤的文件扩展名
。有什么办法可以改变这种默认行为吗?
PS:我在 txt 文件中看到类似的行为。
编辑:这是 POM.xml 中使用的插件
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>make-assembly</id>
<phase>install</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<filters>
<filter>env/${env}.properties</filter>
</filters>
<descriptors>
<descriptor>src/main/assembly/myapp-server.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
</build>
谢谢, 普拉布约特
I'm trying to filter my shell scripts using maven assembly plugin. Other properties and xml files are getting filtered correctly. However, I'm getting following message in the log for shell scripts.
Relevant assembly descriptor.
<file>
<source>src/main/config/default/buildcron.csh</source>
<outputDirectory>/bin</outputDirectory>
<filtered>true</filtered>
</file>
and here is the message for not filtering above scripts in the log.file buildcron.csh has a filtered file extension
. Is there any way to change this default behavior?
PS: I see similar behavior with txt files.
Edit: Here is the plugin being used from POM.xml
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>make-assembly</id>
<phase>install</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<filters>
<filter>env/${env}.properties</filter>
</filters>
<descriptors>
<descriptor>src/main/assembly/myapp-server.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
</build>
Thanks,
Prabhjot
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您必须在描述符中定义一个 id。
You have to define an id inside your descriptor.
也许您遇到了 this 中讨论的问题线程。也许某些属性与 pom 发生冲突。
Perhaps you are hitting a problem discussed in this thread. Maybe some property is clashing with the pom.
我还有一个担心。目前,我正在程序集插件中过滤文件(逻辑位于程序集描述符中)。但是,这些属性文件仅位于 zip 文件夹(包含配置文件、shell 脚本、依赖 jar)。正在生成的单独应用程序 jar 默认情况下没有配置文件。我必须再次编写单独的逻辑(在 POM xml 中)来为特定环境生成配置文件。
有什么办法可以避免编写重复的逻辑吗?
I've one more concern here. Currently, I'm filtering files (logic is in assembly descriptor) in the assembly plugin. However, those properties file go only to zip folder (contains config files, shell scripts, dependent jars). The separate application jar which is being generated, doesn't have config files by default. I've to again write seperate logic ( in POM xml) for generating config files for the specific environment.
Is there any way to avoid writing duplicate logic?