如何告诉Maven更新清单的Bundle-Version?

时间:2016-09-16 10:20:59

标签: eclipse maven eclipse-plugin

我正在使用Maven构建Eclipse的插件,我正在寻找一种方法来告诉Maven更新META-INF \ MANIFEST.MF文件中的Bundle-Version。

诀窍是,我需要一个干净的方法来做到这一点。因此,更多的同事(甚至是几个月/几年的我)可能不会破坏最终的自动构建。

以下是我的尝试:

使用" Bundle-Version:$ {project.version}"在MANIFEST.MF

在maven的观点上,这是有效的。 但我的Eclipse项目经常显示错误:指定的版本没有正确的格式(major.minor.micro.qualifier)

使用上面但在maven使用的另一个META-INF文件夹(名为META-INF-MAVEN)而不是原文:

<resources>
    <resource>
        <directory>META-INF-MAVEN</directory>
        <targetPath>META-INF</targetPath>
        <filtering>true</filtering>
    </resource>
</resources>

这仍然是&#34;工作&#34;,但是所需的MANIFEST.MF文件重复远离我正在寻找的东西。这是未来错误的一个大陷阱,例如编辑原始的MANIFEST.MF文件并忘记maven文件,导致错误发布。

使用org.apache.maven.plugins在pom文件的编译时添加Bundle-Version标记:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <archive>
            <manifestFile>target/classes/META-INF/MANIFEST.MF</manifestFile>
            <manifestEntries>
                <Bundle-Version>${project.version}</Bundle-Version>
            </manifestEntries>
        </archive>
    </configuration>
</plugin>

这是最有前途的方式,但它仅在原始MANIFEST.MF 没有 Bundle-Version行时才有效。 结果再次是Eclipse项目中的错误。

所以,我在这里,要求任何想法。

感谢。

0 个答案:

没有答案