2

我将 maven bundle 插件用于 bundle spring 项目。我在我的项目中使用 spring 属性占位符。当我构建我的项目时,我会收到以下警告:

[警告] Bundle groupId:artifactId:bundle:1.9-SNAPSHOT:找不到宏的翻译:spring.property

如何防止此警告消息?可能是一些 Maven 捆绑插件设置可以帮助我吗?

谢谢

4

1 回答 1

3

在资源插件完成后,maven-bundle-plugin(在撰写本文时为 2.5.3 版)似乎有自己的资源过滤功能。如果资源插件无法替换属性,它将简单地保持原样。当然,如果该属性位于 Spring 上下文文件中以在运行时由 Spring 替换,那么这就是您想要的。但是剩余的属性混淆了捆绑插件。

我能找到的唯一解决方法是禁用 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>

您还可以将其反转并在启用过滤和全局禁用过滤的资源声明中明确包含要过滤的文件。

于 2014-11-27T07:58:44.517 回答