Eclipse 4.31导出E4 RCP产品缺失启动器共享库问题求助
Eclipse E4 RCP多平台导出异常问题
我有一个Eclipse E4 RCP产品,此前使用Eclipse 4.29可正常导出gtk.linux.x86_64和win32.win32.x86_64多平台版本。现全新安装基于java-17-openjdk和kubuntu 23-10的Eclipse IDE 4.31,使用新工作区开发:
- 因Eclipse 4.30废弃javax相关依赖,已将所有导入从javax替换为jakarta,适配产品定义依赖后项目可正常编译
- 导出单Linux平台产品时,plugins文件夹缺失
org.eclipse.equinox.launcher.gtk.linux.x86_64_1.2.900.v20240129-1338,导致产品无法启动;手动从p2缓存添加该文件夹后可正常运行 - 导出多平台时,出现win32启动器
org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.900.v20240213-1244依赖无法解析的错误,该插件在目标定义和p2缓存中均存在 - 切换为Eclipse 4.30作为目标定义,问题依旧
新目标定义(Eclipse RCP 4.31)
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde version="3.8"?> <target name="Eclipse RCP 4.31"> <locations> <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit"> <repository location="https://download.eclipse.org/releases/2024-03"/> <unit id="org.eclipse.equinox.sdk.feature.group" version="3.23.1100.v20240218-1855"/> <unit id="org.eclipse.sdk.feature.group" version="4.31.0.v20240229-1022"/> <unit id="org.eclipse.rcp.source.feature.group" version="4.31.0.v20240229-0520"/> <unit id="org.eclipse.emf.sdk.feature.group" version="2.37.0.v20240203-1010"/> </location> <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit"> <repository location="https://download.eclipse.org/tools/orbit/simrel/orbit-aggregation/release/latest"/> <unit id="jakarta.inject.jakarta.inject-api" version="2.0.1"/> <unit id="jakarta.annotation-api" version="2.1.1"/> <unit id="org.apache.commons.commons-io" version="2.15.1"/> <unit id="org.apache.commons.commons-logging" version="1.3.0"/> <unit id="org.apache.commons.jxpath" version="1.3.0"/> <unit id="jakarta.servlet-api" version="4.0.0"/> <unit id="com.sun.jna" version="5.14.0.v20231211-1200"/> <unit id="com.sun.jna.platform" version="5.14.0"/> </location> </locations> </target>
旧目标定义(Skylog 4 RCP 4.29)
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde version="3.8"?> <target name="Skylog 4 RCP 4.29"> <locations> <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit"> <repository location="http://download.eclipse.org/releases/2023-09"/> <unit id="org.eclipse.emf.sdk.feature.group" version="2.35.0.v20230829-0934"/> <unit id="org.eclipse.sdk.feature.group" version="4.29.0.v20230903-1000"/> </location> <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit"> <repository location="http://download.eclipse.org/eclipse/updates/4.29"/> <unit id="org.eclipse.equinox.sdk.feature.group" version="3.23.900.v20230808-1403"/> <unit id="org.eclipse.rcp.feature.group" version="4.29.0.v20230903-1000"/> <unit id="org.eclipse.rcp.source.feature.group" version="4.29.0.v20230903-1000"/> </location> <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit"> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/I20230403150144/repository"/> <unit id="com.sun.jna" version="5.12.1.v20221103-2317"/> <unit id="com.sun.jna.platform" version="5.12.1.v20221103-2317"/> <unit id="javax.annotation" version="1.3.5.v20221203-1659"/> <unit id="javax.inject" version="1.0.0.v20220405-0441"/> <unit id="org.apache.commons.io" version="2.8.0.v20210415-0900"/> <unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/> </location> <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit"> <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository/"/> <unit id="org.apache.commons.jxpath" version="1.3.0.v200911051830"/> </location> </locations> </target>
内容的提问来源于stack exchange,提问作者Stefan
相关产品推荐
相关产品推荐

