Tycho 无法解析间接引用的 SWT 依赖项

问题描述

问题可能与 this question 中的问题相同,但那里提供的解决方案在过去 8 年中变得不适用。


我有一个 Eclipse RCP 项目,该项目正在转换为使用 Tycho(2.3.0 版)。 该项目可以与 Eclipse 2019-06 和为此项目构建的自定义目标平台一起运行。

然后我用相同的目标平台(一个单独的 Maven 模块引用 Eclipse 使用的相同 *.target 文件)设置 Tycho。

但是当我以通常的“全新安装”目标运行 Maven(版本 3.6.3)时,我收到此错误消息:

[ERROR] Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:2.3.0:compile (default-compile) on project my.project.module: Compilation failure: Compilation failure: 
[ERROR] C:\path\to\a\source\file\in\a\module.java: 
[ERROR]     /*
[ERROR]     ^
[ERROR] The type org.eclipse.swt.widgets.Event cannot be resolved. It is indirectly referenced from required .class files

目标平台为 Eclipse 和 Tycho 以及两个 SWT .jar 文件org.eclipse.swt_3.111.0.v20190605- 1801.jarorg.eclipse.swt.win32.win32.x86_64_3.111.0.v20190605-1801.jar) 位于构成目标平台的目录之一中。

解决方法

添加后

jars.extra.classpath = platform:/plugin/org.eclipse.swt.win32.win32.x86_64

build.properties 文件(如推荐的 here),问题消失了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...