maven bundle plugin找不到宏的翻译:

时间:2014-04-03 06:31:04

标签: spring osgi maven-bundle-plugin

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

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

如何阻止此警告消息?可能有些maven bundle插件设置可以帮到我吗?

由于

1 个答案:

答案 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>

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