3

我有一个产品定义,其中包括我编写的一项功能和 org.eclipse.feature。当我从 eclipse 构建这个产品时,它成功完成。但是,当我尝试使用 Headless 构建时,编译过程失败,因为它抱怨找不到 org.eclipse.ui 中包含的类。例如,这些类之一是 PlatformUI。构建过程因此失败。

我已经检查过,org.eclipse.ui 包含在 org.eclipse.ui 插件中。我还尝试将此插件明确包含在我的自定义功能中,但无济于事。

我也尝试过删除其中一个有问题的插件,但下一个使用 org.eclipse.ui 的插件失败了。因此,这似乎绝对是某个类路径问题。

我已经使用 Eclipse 3.3.2 版本尝试过这个无头构建。

4

3 回答 3

1

该类org.eclipse.ui.PlatformUIorg.eclipse.ui.workbench插件中。

org.eclipse.ui.workbench 是必需的,并由 org.eclipse.ui 重新导出。" org.eclipse.ui" 包是一个拆分包

如果您为此依赖项使用 Import-Package,那么您只会连接到包的提供者之一。如果您只需要 ui.workbench 中的类,则可以在 Import-Package 语句中添加一个属性:

Import-Package:org.eclipse.ui;ui.workbench=split

或者,您可以更改为Require-Bundle

于 2009-08-17T21:49:44.670 回答
0

你检查过你的build.properties文件吗?

具体的archivesFormat部分

archivesFormat属性允许基于配置指定构建的输出格式(zip、tar 和文件夹)。
属性的格式是<configuration> - <format>,其中配置的值与 configs 属性中指定的值相同。

如果它linux,gtk,x86-folder在您尝试使用win32安装进行构建时指定,它将不起作用。

于 2009-08-17T09:20:09.443 回答
0

不幸的是,Eclipse 显示了在 GUI 中导出产品和无头执行产品之间的不同行为。它们并不完全相同。

我过去发现的一个问题是,我需要安装delta 包才能使无头构建工作,即使我是在我所针对的相同架构 (win32) 上进行构建。从 GUI 导出产品可以在没有 delta 包的情况下工作 - 哦!

于 2009-08-17T09:50:00.710 回答