如何从单个父 pom.xml 构建具有不同版本的插件?
我正在尝试使用 Maven Tycho 构建几个 Eclipse 插件。所有插件的版本号并不相同。
假设以下pom架构:
- plugin1(版本1.0.6.qualifier)/ pom.xml
- plugin2(版本1.4.0.qualifier)/ pom.xml
- pom.xml(父pom版本1.0.0.SNAPSHOT)
Maven的构建失败出现以下错误:
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:0.12.0:validate-version (default-validate-version) on project plugin1: Unqualified OSGi version 1.0.6.qualifier must match unqualified Maven version 1.0.0-SNAPSHOT for SNAPSHOT builds
如何配置父pom以能够构建具有不同版本号的插件? 我应该使用不同的 pom 架构来解决这个问题吗?
请注意,我不想修改插件的版本。
I am trying to build several Eclipse plug-ins with Maven Tycho. All the plug-ins does not have the same version number.
Let's say the following pom architecture:
- plugin1 (version 1.0.6.qualifier) / pom.xml
- plugin2 (version 1.4.0.qualifier) / pom.xml
- pom.xml (parent pom version 1.0.0.SNAPSHOT)
Maven's build fails with the following error:
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:0.12.0:validate-version (default-validate-version) on project plugin1: Unqualified OSGi version 1.0.6.qualifier must match unqualified Maven version 1.0.0-SNAPSHOT for SNAPSHOT builds
How to configure the parent pom to be able to build those plug-ins with different version numbers?
Should I use a different pom architecture to solve this issue?
Note that I don't want to modify plug-in's versions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
maven POM 版本和 MANIFEST 版本必须匹配(MANIFEST 中的后缀“.qualifer”替换为 pom.xml 中的“-SNAPSHOT”)。
请参阅http://wiki.eclipse.org/Tycho/Packaging_Types#eclipse-plugin
maven POM version and MANIFEST version must match (with suffix ".qualifer" in MANIFEST replaced by "-SNAPSHOT" in pom.xml).
See http://wiki.eclipse.org/Tycho/Packaging_Types#eclipse-plugin
您可以像这样配置 tycho 插件,以便仅警告版本问题: http://www.eclipse.org/tycho/sitedocs/tycho-packaging-plugin/validate-version-mojo.html
结果:
You can configure tycho plugin like that in order to only Warn versions problems : http://www.eclipse.org/tycho/sitedocs/tycho-packaging-plugin/validate-version-mojo.html
Result :
我找到了解决方案。我在每个模块的 pom.xml 中添加了与 Eclipse 插件版本相对应的版本标签。
是否可以使用没有任何版本标签的maven pom.xml文件并让tycho使用MANIFEST.MF文件中指定的版本?
I found a solution. I added a version tag corresponding to the Eclipse plug-in version in each modules' pom.xml.
Is it possible to use maven pom.xml files without any version tag and let tycho using version specified in MANIFEST.MF files?
即使我也遇到过同样的问题并找到了同样的解决方案。
实际上问题是 Manifest.MF 文件版本和 pom.xml 父版本应该相同,否则我们会收到此错误。
清单.MF
捆绑版本:2.5.0.qualifier
pom.xml
Even i have faced the same problem and found the solution for the same.
Actually the problem is Manifest.MF file version and pom.xml parent version should be same otherwise we will get this error.
Manifest.MF
Bundle-Version: 2.5.0.qualifier
pom.xml