繁体   English   中英

为什么Eclipse RCP产品构建在无头构建期间无法在org.eclipse.ui中找到类?

[英]Why an Eclipse RCP product build can not find classes in org.eclipse.ui during headless build?

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

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

我也尝试删除其中一个有问题的插件,但是使用org.eclipse.ui的下一个插件失败了。 所以它似乎肯定是一些sowrt的类路径问题。

我使用Eclipse的3.3.2版尝试了这个无头构建。

org.eclipse.ui.PlatformUI类位于org.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

你检查了build.properties文件吗?

特别是archivesFormat部分

archivesFormat属性允许在配置的基础上指定构建的输出格式(zip,tar和folder)。
该属性的格式为<configuration> - <format> ,其中configuration的值与configs属性中指定的值相同。

如果它在你尝试使用win32安装进行构建时指定了linux,gtk,x86-folder ,它将无法正常工作。

不幸的是,Eclipse在GUI中导出产品和无头操作之间表现出不同的行为。 它们并不完全相同。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM