我使用maven bundle插件进行bundle spring项目。我在我的项目中使用spring属性占位符。当我构建项目时,我会收到以下警告:
[警告] Bundle groupId:artifactId:bundle:1.9-SNAPSHOT:找不到宏的翻译:spring.property
如何阻止此警告消息?可能有些maven bundle插件设置可以帮到我吗?
由于
答案 0 :(得分:3)
看来maven-bundle-plugin(编写本文时为2.5.3)在资源插件完成后有自己的资源过滤功能。如果资源插件无法替换属性,它将保持原样。当然,如果属性在Spring上下文文件中由Spring在运行时替换,那么这就是你想要的。但是剩下的属性会混淆bundle插件。
我能找到的唯一解决方法是禁用Spring上下文文件的资源过滤。在POM的构建部分添加一些内容:
<resources>
<!-- globally enable resource filtering -->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<!-- then disable it for specific resources -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*-context.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
您也可以将其转过来,并在资源声明中明确包含您要过滤的文件,以启用过滤和全局禁用过滤。