首页 > 解决方案 > 修复 Tycho 中多个版本依赖项的问题

问题描述

我正在将遗留的 Java 应用程序构建系统转换为使用 Maven 和 Tycho 构建。我目前正在构建一个 Eclipse 产品文件。使用 tycho 构建产品的各个插件和功能。但是一旦 tycho 尝试解决产品的依赖关系,我就会收到错误消息:

[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: at.jku.mevss.monitoringmanager 1.0.0.qualifier
[ERROR]   Only one of the following can be installed at once: [org.eclipse.equinox.registry 3.8.100.v20180827-1235, org.eclipse.equinox.registry 3.6.100.v20160223-2218, org.eclipse.equinox.registry 3.5.200.v20120522-1841, org.eclipse.equinox.registry 3.5.400.v20140428-1507, org.eclipse.equinox.registry 3.5.100.v20110502, org.eclipse.equinox.registry 3.6.0.v20150318-1503]
[ERROR]   Only one of the following can be installed at once: [org.eclipse.ui 3.103.0.v20120705-114351, org.eclipse.ui 3.8.0.v20120523-1546, org.eclipse.ui 3.107.0.v20150507-1945, org.eclipse.ui 3.108.1.v20160929-1045, org.eclipse.ui 3.104.0.v20121024-145224, org.eclipse.ui 3.8.2.v20121018-234953, org.eclipse.ui 3.110.0.v20180828-1350, org.eclipse.ui 3.7.0.I20110602-0100, org.eclipse.ui 3.103.0.v20120521-2329, org.eclipse.ui 3.106.0.v20140519-0906]
[ERROR]   Cannot satisfy dependency: at.jku.mevss.idetools.rcp.feature.feature.group 0.1.0.qualifier depends on: org.eclipse.equinox.p2.iu; org.eclipse.core.runtime.compatibility.registry 0.0.0
[ERROR]   Cannot satisfy dependency: at.jku.mevss.monitoringmanager 1.0.0.qualifier depends on: org.eclipse.equinox.p2.iu; at.jku.mevss.idetools.rcp.feature.feature.group 0.0.0
[ERROR]   Cannot satisfy dependency: at.jku.mevss.monitoringmanager 1.0.0.qualifier depends on: org.eclipse.equinox.p2.iu; at.jku.mevss.util.feature.feature.group 0.0.0
[ERROR]   Cannot satisfy dependency: at.jku.mevss.monitoringmanager 1.0.0.qualifier depends on: org.eclipse.equinox.p2.iu; org.eclipse.platform.feature.group 0.0.0
[ERROR]   Cannot satisfy dependency: at.jku.mevss.ui.util 1.0.0.qualifier depends on: osgi.bundle; org.jfree.jfreechart 0.0.0
[ERROR]   Cannot satisfy dependency: at.jku.mevss.util.feature.feature.group 0.4.0.qualifier depends on: org.eclipse.equinox.p2.iu; at.jku.mevss.ui.util 0.0.0
[ERROR]   Cannot satisfy dependency: org.eclipse.core.runtime.compatibility.registry 3.5.100.v20120521-2346 depends on: osgi.bundle; org.eclipse.equinox.registry [3.5.0,3.6.0)
[ERROR]   Cannot satisfy dependency: org.eclipse.core.runtime.compatibility.registry 3.5.101.v20130108-163257 depends on: osgi.bundle; org.eclipse.equinox.registry [3.5.0,3.6.0)
[ERROR]   Cannot satisfy dependency: org.eclipse.platform.feature.group 3.8.0.v20120607-071945-9gF7jI7nG5qByXMVdkhRMWBQlF4PnDCLybDCPQ depends on: org.eclipse.equinox.p2.iu; org.eclipse.rcp.feature.group [3.8.0.v20120528-1716-92BmGJTFw3Ez0W7_KvHqgZUR,3.8.0.v20120528-1716-92BmGJTFw3Ez0W7_KvHqgZUR]
[ERROR]   Cannot satisfy dependency: org.eclipse.platform.feature.group 3.8.1.v20120815-074604-9gF7jI7wG5qDyZMWGg8NPvDbfWFWlIJU-kYaOQ depends on: org.eclipse.equinox.p2.iu; org.eclipse.rcp.feature.group [3.8.1.v20120814-105048-92BmGJlFw3Ez0WZ9TxCqgcSVAE,3.8.1.v20120814-105048-92BmGJlFw3Ez0WZ9TxCqgcSVAE]
[ERROR]   Cannot satisfy dependency: org.eclipse.platform.feature.group 3.8.1.v20130118-180812-9jF7oIBFG8eU2pim-VbIlTuQjY0RWWK3x-bv4I depends on: org.eclipse.equinox.p2.iu; org.eclipse.rcp.feature.group [3.8.2.v20130118-180157-96BuGOZFxwOAeG8Ofmqicz0tPK,3.8.2.v20130118-180157-96BuGOZFxwOAeG8Ofmqicz0tPK]
[ERROR]   Cannot satisfy dependency: org.eclipse.platform.feature.group 4.2.0.v20120608-135145-9JF7BHV8FyMteji0Oi_ePMz0xuZ8TVo7lV0z0ecb depends on: org.eclipse.equinox.p2.iu; org.eclipse.rcp.feature.group [4.2.0.v20120528-1648-7IAPA7BrHQicRpNdOz-Obz-rlRCA,4.2.0.v20120528-1648-7IAPA7BrHQicRpNdOz-Obz-rlRCA]
[ERROR]   Cannot satisfy dependency: org.eclipse.platform.feature.group 4.2.1.v20120814-120134-9JF7BHVGFyMveli1uX6aTH0q-eAap6PAgOP5mO depends on: org.eclipse.equinox.p2.iu; org.eclipse.rcp.feature.group [4.2.1.v20120814-120134-7IAPA8BrHQicS-rjP0GbqK780kMy,4.2.1.v20120814-120134-7IAPA8BrHQicS-rjP0GbqK780kMy]
[ERROR]   Cannot satisfy dependency: org.eclipse.platform.feature.group 4.2.1.v20130118-173121-9MF7GHYdG0B5kx4E_SkfZV-1mNjVATf67ZAb7 depends on: org.eclipse.equinox.p2.iu; org.eclipse.rcp.feature.group [4.2.2.v20130129-152330-7IARAABrMQkGSvMgQnUlz-DQz00h,4.2.2.v20130129-152330-7IARAABrMQkGSvMgQnUlz-DQz00h]
[ERROR]   Cannot satisfy dependency: org.eclipse.platform.feature.group 4.6.3.v20170301-0400 depends on: org.eclipse.equinox.p2.iu; org.eclipse.ui.intro.quicklinks [1.0.0.v20160515-0255,1.0.0.v20160515-0255]
[ERROR]   Cannot satisfy dependency: org.eclipse.platform.feature.group 4.9.0.v20180906-1121 depends on: org.eclipse.equinox.p2.iu; org.eclipse.urischeme [1.0.0.v20180828-1120,1.0.0.v20180828-1120]
[ERROR]   Cannot satisfy dependency: org.eclipse.rcp.feature.group 3.8.0.v20120528-1716-92BmGJTFw3Ez0W7_KvHqgZUR depends on: org.eclipse.equinox.p2.iu; org.eclipse.ui [3.8.0.v20120523-1546,3.8.0.v20120523-1546]
[ERROR]   Cannot satisfy dependency: org.eclipse.rcp.feature.group 3.8.1.v20120814-105048-92BmGJlFw3Ez0WZ9TxCqgcSVAE depends on: org.eclipse.equinox.p2.iu; org.eclipse.ui [3.8.0.v20120523-1546,3.8.0.v20120523-1546]
[ERROR]   Cannot satisfy dependency: org.eclipse.rcp.feature.group 3.8.2.v20130118-180157-96BuGOZFxwOAeG8Ofmqicz0tPK depends on: org.eclipse.equinox.p2.iu; org.eclipse.ui [3.8.2.v20121018-234953,3.8.2.v20121018-234953]
[ERROR]   Cannot satisfy dependency: org.eclipse.rcp.feature.group 4.2.0.v20120528-1648-7IAPA7BrHQicRpNdOz-Obz-rlRCA depends on: org.eclipse.equinox.p2.iu; org.eclipse.ui [3.103.0.v20120521-2329,3.103.0.v20120521-2329]
[ERROR]   Cannot satisfy dependency: org.eclipse.rcp.feature.group 4.2.1.v20120814-120134-7IAPA8BrHQicS-rjP0GbqK780kMy depends on: org.eclipse.equinox.p2.iu; org.eclipse.ui [3.103.0.v20120705-114351,3.103.0.v20120705-114351]
[ERROR]   Cannot satisfy dependency: org.eclipse.rcp.feature.group 4.2.2.v20130129-152330-7IARAABrMQkGSvMgQnUlz-DQz00h depends on: org.eclipse.equinox.p2.iu; org.eclipse.ui [3.104.0.v20121024-145224,3.104.0.v20121024-145224]
[ERROR]   Cannot satisfy dependency: org.eclipse.ui.intro.quicklinks 1.0.0.v20160515-0255 depends on: osgi.bundle; org.eclipse.equinox.registry 3.6.100
[ERROR]   Cannot satisfy dependency: org.eclipse.urischeme 1.0.0.v20180828-1120 depends on: osgi.bundle; org.eclipse.equinox.registry [3.8.0,4.0.0)
[ERROR]   Cannot satisfy dependency: org.jfree.jfreechart 1.0.13.201902282149 depends on: osgi.bundle; org.eclipse.ui 3.107.0

我浏览了所有相关的 Manifest 文件并将所有require-bundle条目设置为3.8.0 with match=greaterOrEqual,但没有产生任何结果。难道问题是由传递依赖引起的吗?如果是,我如何找出哪些依赖项产生了问题,以及如何解决它们?由于我试图通过 p2 存储库解决大量依赖项,因此我添加了相当多的 p2 存储库,因此构建可能能够访问各种不同版本的 eclipse 包。这可能是这里的问题吗?

此外,jfreechart 依赖项是唯一可通过 p2 存储库获得的依赖项,并且需要org.eclipse.ui比项目的其余部分更新的版本,并且还具有固定的版本号。这可能是一个问题吗,有没有办法从一个以前没有它在构建过程中显示的信息的 Maven 包生成这个依赖项作为一个 Eclipse 包?

在为项目创建依赖关系树时,我可以看到,某些项目需要不同的版本。这些依赖项虽然没有显示为可传递的,我也没有专门设置它们,所以我不知道版本要求来自哪里。

标签: javamavendependenciestycho

解决方案


推荐阅读