Eclipse RCP 构建 - 缺少 javax.xml

Eclipse RCP build - missing javax.xml

我正在将我的 RCP 目标从大约 2015 年更新到最新。

我有一个 Java XML 流媒体的要求,我从 p2 站点 Orbit-R20200529191137 - https://download.eclipse.org/tools/orbit/downloads/drops/R20200529191137/repository 解决了这个问题。此功能要求 javax.xml.

在构建时我得到一个新的错误,旧的目标文件没有发生:

Missing requirement: mybundle.core.support.feature.feature.group 1.0.0.qualifier requires 'javax.xml 0.0.0' but it could not be found

关于如何满足此要求的任何建议。

感谢您花时间阅读和思考我的问题, 蒂莫西

来自 Eclipse 论坛上的一个 post 这个非常有用 link 到特定于版本的迁移指南。

Migration guide

添加目标平台

目标平台仅使用软件站点定义,以便与 Tycho 构建兼容。这是 OLD 目标文件的文本视图。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?>
<target name="motordb-4" sequenceNumber="179">
    <locations>
        <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
            <unit id="org.eclipse.gemini.jpa.feature.feature.group" version="1.2.0.M1" />
            <repository location="https://download.eclipse.org/gemini/jpa/updates" />
        </location>
        <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
            <unit id="org.apache.commons.collections.source" version="3.2.0.v2013030210310" />
            <unit id="org.apache.commons.collections" version="3.2.0.v2013030210310" />
            <unit id="org.apache.commons.beanutils" version="1.8.0.v201205091237" />
            <unit id="javax.xml.stream" version="1.0.1.v201004272200" />
            <unit id="org.apache.commons.net" version="3.2.0.v201305141515" />
            <unit id="org.apache.commons.net.source" version="3.2.0.v201305141515" />
            <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/" />
        </location>
        <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
            <unit id="org.eclipse.emf.common.feature.group" version="2.11.0.v20150805-0538" />
            <unit id="org.eclipse.emf.ecore.feature.group" version="2.11.1.v20150805-0538" />
            <unit id="org.eclipse.rcp.source.feature.group" version="4.5.1.v20150904-0015" />
            <unit id="org.eclipse.equinox.sdk.feature.group" version="3.11.1.v20150831-1342" />
            <unit id="org.eclipse.help.source.feature.group" version="2.1.1.v20150904-0015" />
            <unit id="org.eclipse.equinox.p2.rcp.feature.feature.group" version="1.2.101.v20150826-1318" />
            <unit id="org.eclipse.rcp.feature.group" version="4.5.1.v20150904-0015" />
            <unit id="org.eclipse.help.feature.group" version="2.1.1.v20150904-0015" />
            <repository location="https://download.eclipse.org/eclipse/updates/4.5" />
        </location>
        <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
            <unit id="org.eclipse.persistence.jpa.feature.group" version="2.6.0.v20150309-bf26070" />
            <unit id="org.eclipse.persistence.jpa.source.feature.group" version="2.6.0.v20150309-bf26070" />
            <repository location="https://download.eclipse.org/rt/eclipselink/updates/" />
        </location>
        <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
            <unit id="org.hamcrest" version="1.1.0.v20090501071000" />
            <unit id="org.hamcrest.text" version="1.1.0.v20090501071000" />
            <unit id="org.hamcrest.integration" version="1.3.0.v201305210900" />
            <unit id="org.junit" version="4.11.0.v201303080030" />
            <unit id="org.hamcrest.generator" version="1.3.0.v201305210900" />
            <unit id="org.hamcrest.core" version="1.3.0.v201303031735" />
            <unit id="org.hamcrest.library" version="1.3.0.v201305281000" />
            <unit id="org.hamcrest.core.source" version="1.3.0.v201303031735" />
            <unit id="org.hamcrest.generator.source" version="1.3.0.v201305210900" />
            <unit id="org.hamcrest.library.source" version="1.3.0.v201305281000" />
            <unit id="org.hamcrest.text" version="1.1.0.v20090501071000" />
            <unit id="org.hamcrest.integration.source" version="1.3.0.v201305210900" />
            <unit id="org.junit.source" version="4.11.0.v201303080030" />
            <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/" />
        </location>
        <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
            <unit id="org.eclipse.ecf.core.ssl.feature.feature.group" version="1.1.0.v20160823-2221" />
            <unit id="org.eclipse.ecf.filetransfer.feature.feature.group" version="3.13.2.v20160823-2221" />
            <unit id="org.eclipse.ecf.core.feature.feature.group" version="1.3.0.v20160823-2221" />
            <unit id="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.group" version="3.13.2.v20160823-2221" />
            <unit id="org.eclipse.ecf.remoteservice.rosgi.feature.feature.group" version="1.0.0.v20160823-2221" />
            <unit id="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.feature.group" version="1.1.0.v20160823-2221" />
            <unit id="org.eclipse.ecf.filetransfer.httpclient4.source.feature.feature.group" version="3.13.2.v20160823-2221" />
            <unit id="org.eclipse.ecf.remoteservice.sdk.source.feature.feature.group" version="3.13.2.v20160823-2221" />
            <unit id="org.eclipse.ecf.filetransfer.ssl.source.feature.feature.group" version="1.1.0.v20160823-2221" />
            <unit id="org.eclipse.ecf.remoteservice.rosgi.source.feature.feature.group" version="1.0.0.v20160823-2221" />
            <unit id="org.eclipse.ecf.remoteservice.feature.feature.group" version="2.3.0.v20160823-2221" />
            <unit id="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature.feature.group" version="1.1.0.v20160823-2221" />
            <unit id="org.eclipse.ecf.remoteservice.source.feature.feature.group" version="2.3.0.v20160823-2221" />
            <unit id="org.eclipse.ecf.remoteservice.sdk.feature.feature.group" version="3.13.2.v20160823-2221" />
            <unit id="org.eclipse.ecf.filetransfer.ssl.feature.feature.group" version="1.1.0.v20160823-2221" />
            <unit id="org.eclipse.ecf.core.source.feature.feature.group" version="1.3.0.v20160823-2221" />
            <unit id="org.eclipse.ecf.filetransfer.source.feature.feature.group" version="3.13.2.v20160823-2221" />
            <unit id="org.eclipse.ecf.core.ssl.source.feature.feature.group" version="1.1.0.v20160823-2221" />
            <repository location="https://download.eclipse.org/rt/ecf/3.13.2/site.p2" />
        </location>
        <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
            <unit id="ch.qos.logback.core" version="1.0.7.v20121108-1250" />
            <unit id="org.slf4j.log4j" version="1.7.2.v20130115-1340" />
            <unit id="org.slf4j.ext" version="1.7.2.v20121108-1250" />
            <unit id="org.slf4j.jcl" version="1.7.2.v20130115-1340" />
            <unit id="ch.qos.logback.slf4j" version="1.0.7.v20121108-1250" />
            <unit id="org.slf4j.jul" version="1.7.2.v20121108-1250" />
            <unit id="ch.qos.logback.classic" version="1.0.7.v20121108-1250" />
            <unit id="org.slf4j.api" version="1.7.2.v20121108-1250" />
            <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/" />
        </location>
        <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
            <unit id="org.eclipse.gemini.dbaccess.feature.feature.group" version="1.1.0.RELEASE" />
            <repository location="https://download.eclipse.org/gemini/updates/dbaccess/1.1.0" />
        </location>
        <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
            <unit id="com.custom.support.feature.feature.group" version="1.0.5.201811071810" />
            <unit id="com.custom.ecf.websockets.feature.feature.group" version="1.0.0.201512220910" />
            <unit id="com.apache.pdfbox.feature.group" version="1.0.0.201505111049" />
            <repository location="http://localhost/development/" />
        </location>
        <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
            <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20190602212107/repository" />
            <unit id="org.apache.commons.math3" version="3.5.0.v20160301-1110" />
        </location>
    </locations>
    <targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8" />
</target>

更新的新一个

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?>
<target name="motordb-5" sequenceNumber="183">
<locations>
<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.gemini.jpa.feature.feature.group" version="1.2.0.M1"/>
<repository location="https://download.eclipse.org/gemini/jpa/updates"/>
</location>
<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
    <unit id="org.hamcrest" version="1.1.0.v20090501071000"/>
    <unit id="org.hamcrest.core" version="1.3.0.v201303031735"/>
    <unit id="org.hamcrest.core.source" version="1.3.0.v201303031735"/>
    <unit id="org.hamcrest.generator" version="1.3.0.v201305210900"/>
    <unit id="org.hamcrest.generator.source" version="1.3.0.v201305210900"/>
    <unit id="org.hamcrest.integration" version="1.3.0.v201305210900"/>
    <unit id="org.hamcrest.integration.source" version="1.3.0.v201305210900"/>
    <unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>
    <unit id="org.hamcrest.library.source" version="1.3.0.v201305281000"/>
    <unit id="org.hamcrest.text" version="1.1.0.v20090501071000"/>
    <unit id="org.hamcrest.text" version="1.1.0.v20090501071000"/>
    <unit id="org.junit" version="4.11.0.v201303080030"/>
    <unit id="org.junit.source" version="4.11.0.v201303080030"/>
</location>
<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.persistence.jpa.feature.group" version="2.6.0.v20150309-bf26070"/>
<unit id="org.eclipse.persistence.jpa.source.feature.group" version="2.6.0.v20150309-bf26070"/>
<repository location="https://download.eclipse.org/rt/eclipselink/updates/"/>
</location>
<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.gemini.dbaccess.feature.feature.group" version="1.1.0.RELEASE"/>
<repository location="https://download.eclipse.org/gemini/updates/dbaccess/1.1.0"/>
</location>
<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
<unit id="com.easa.motodb.support.feature.feature.group" version="1.0.5.201811071810"/>
<unit id="com.vogelware.ecf.websockets.feature.feature.group" version="1.0.0.201512220910"/>
<unit id="com.apache.pdfbox.feature.group" version="1.0.0.201505111049"/>
<repository location="http://vogelware.com/development/"/>
</location>
    <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
        <repository location="https://download.eclipse.org/rt/ecf/3.14.7/site.p2"/>
        <unit id="org.eclipse.ecf.core.feature.feature.group" version="1.5.500.v20200217-1548"/>
        <unit id="org.eclipse.ecf.core.feature.source.feature.group" version="1.5.500.v20200217-1548"/>
        <unit id="org.eclipse.ecf.core.ssl.feature.feature.group" version="1.1.300.v20191023-2007"/>
        <unit id="org.eclipse.ecf.core.ssl.feature.source.feature.group" version="1.1.300.v20191023-2007"/>
        <unit id="org.eclipse.ecf.filetransfer.feature.feature.group" version="3.14.700.v20200217-0016"/>
        <unit id="org.eclipse.ecf.filetransfer.feature.source.feature.group" version="3.14.700.v20200217-0016"/>
        <unit id="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.group" version="3.14.7.v20200114-1512"/>
        <unit id="org.eclipse.ecf.filetransfer.httpclient4.feature.source.feature.group" version="3.14.7.v20200114-1512"/>
        <unit id="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.feature.group" version="1.1.200.v20191024-1546"/>
        <unit id="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.source.feature.group" version="1.1.200.v20191024-1546"/>
        <unit id="org.eclipse.ecf.filetransfer.ssl.feature.feature.group" version="1.1.200.v20191024-1546"/>
        <unit id="org.eclipse.ecf.filetransfer.ssl.feature.source.feature.group" version="1.1.200.v20191024-1546"/>
        <unit id="org.eclipse.ecf.remoteservice.feature.feature.group" version="2.5.102.v20191031-1454"/>
        <unit id="org.eclipse.ecf.remoteservice.feature.source.feature.group" version="2.5.102.v20191031-1454"/>
        <unit id="org.eclipse.ecf.remoteservice.rosgi.feature.feature.group" version="1.1.2.v20200217-0038"/>
        <unit id="org.eclipse.ecf.remoteservice.rosgi.feature.source.feature.group" version="1.1.2.v20200217-0038"/>
        <unit id="org.eclipse.ecf.remoteservice.sdk.feature.feature.group" version="3.14.7.v20200217-0120"/>
        <unit id="org.eclipse.ecf.remoteservice.sdk.feature.source.feature.group" version="3.14.7.v20200217-0120"/>
        <unit id="org.eclipse.ecf.filetransfer.httpclient45.feature.feature.group" version="1.0.300.v20200217-0016"/>
        <unit id="org.eclipse.ecf.filetransfer.httpclient45.feature.source.feature.group" version="1.0.300.v20200217-0016"/>
    </location>
    <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
        <repository location="https://download.eclipse.org/eclipse/updates/4.16"/>
        <unit id="org.eclipse.emf.common.feature.group" version="2.19.0.v20200324-0932"/>
        <unit id="org.eclipse.emf.ecore.feature.group" version="2.22.0.v20200519-1135"/>
        <unit id="org.eclipse.equinox.p2.rcp.feature.feature.group" version="1.4.800.v20200602-1138"/>
        <unit id="org.eclipse.equinox.sdk.feature.group" version="3.20.200.v20200528-0603"/>
        <unit id="org.eclipse.help.feature.group" version="2.3.200.v20200604-0540"/>
        <unit id="org.eclipse.help.source.feature.group" version="2.3.200.v20200604-0540"/>
        <unit id="org.eclipse.rcp.feature.group" version="4.16.0.v20200604-0951"/>
        <unit id="org.eclipse.rcp.source.feature.group" version="4.16.0.v20200604-0951"/>
    </location> 
    <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
        <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20200529191137/repository"/>
        <unit id="ch.qos.logback.classic" version="1.0.7.v20121108-1250"/>
        <unit id="ch.qos.logback.classic" version="1.2.3.v20200428-2012"/>
        <unit id="ch.qos.logback.core" version="1.0.7.v20121108-1250"/>
        <unit id="ch.qos.logback.core" version="1.2.3.v20200428-2012"/>
        <unit id="ch.qos.logback.slf4j" version="1.2.3.v20200428-2012"/>
        <unit id="org.slf4j.api" version="1.7.2.v20121108-1250"/>
        <unit id="org.slf4j.api" version="1.7.30.v20200204-2150"/>
        <unit id="org.slf4j.apis.jcl" version="1.7.30.v20200204-2150"/>
        <unit id="org.slf4j.apis.log4j" version="1.7.30.v20200204-2150"/>
        <unit id="org.slf4j.bridge.jul" version="1.7.30.v20200204-2150"/>
        <unit id="org.slf4j.ext" version="1.7.2.v20121108-1250"/>
        <unit id="org.slf4j.ext" version="1.7.30.v20200204-2150"/>
        <unit id="org.slf4j.jcl" version="1.7.2.v20130115-1340"/>
        <unit id="org.slf4j.jul" version="1.7.2.v20121108-1250"/>
        <unit id="org.slf4j.log4j" version="1.7.2.v20130115-1340"/>
    </location>
    <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
        <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20200529191137/repository"/>
        <unit id="org.apache.commons.beanutils" version="1.8.0.v201205091237"/>
        <unit id="org.apache.commons.collections" version="3.2.2.v201511171945"/>
        <unit id="org.apache.commons.net" version="3.2.0.v201305141515"/>
        <unit id="org.apache.commons.math3" version="3.5.0.v20190611-1023"/>
    </location>
    <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
        <repository location="https://download.eclipse.org/releases/2020-06"/>
        <unit id="javax.xml.bind" version="0.0.0"/>
    </location> 
</locations>
<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
</target>

使用新目标文件 运行 RCP 时出错

具有更新的新目标文件的目标平台状态

摘自javax.xml.stream Manifest

Require-Bundle: javax.xml, system.bundle
Bundle-Version: 1.0.1.v201004272200
Export-Package: javax.xml;version="1.0.1"

javax.xml.* 在包缓存目录中

将以下代码片段添加到您的新目标定义文件应该可以解决此问题(并使 <unit id="javax.xml.stream" version="1.0.1.v201004272200"/> 过时):

<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
    <repository location="https://download.eclipse.org/releases/2020-06"/>
    <unit id="javax.xml" version="0.0.0"/>
</location>