我一直在创建一个带有一些特定插件(CDT,AVR-Development)的自定义Eclipse版本,在我的机器上成功配置和测试之后,我压缩了eclipse-Folder并将其发送到我的客户端以安装到目标机器上。
但是当他试图启动eclipse时,他在日志文件中收到以下错误:
!SESSION 2010-06-28 19:24:57.856 -----------------------------------------------eclipse.buildId=unknown
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Framework arguments: -product org.eclipse.epp.package.cpp.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.cpp.product
!ENTRY org.eclipse.osgi 4 0 2010-06-28 19:24:58.870
!MESSAGE Bundle reference:file:org.eclipse.equinox.simpleconfigurator_1.0.101.R35x_v20090807-1100.jar@1:start not found.
!ENTRY org.eclipse.osgi 4 0 2010-06-28 19:24:58.886
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
这看起来有些文件丢失或配置错误,但我无法重现错误。我删除了我的工作区,移动了eclipse文件夹,尝试了另一个用户帐户下的所有内容。
有没有人知道为什么这可以在我的机器上运行(这是一个香草的Win7安装)但是在他的(也是,Win7 - 全新安装)上失败了?
仅供参考,这是配置文件,适用于我的机器:
#This configuration file was written by: org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser
#Thu Jun 10 14:10:03 CEST 2010
org.eclipse.update.reconcile=false
eclipse.p2.profile=epp.package.cpp
osgi.instance.area.default=@user.home/workspace
osgi.framework=file\:plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar
osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.101.R35x_v20090807-1100.jar@1\:start
org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator/bundles.info
eclipse.product=org.eclipse.platform.ide
osgi.splashPath=platform\:/base/plugins/org.eclipse.platform
osgi.framework.extensions=
osgi.bundles.defaultStartLevel=4
eclipse.p2.data.area=@config.dir/../p2/
eclipse.application=org.eclipse.ui.ide.workbench
非常感谢任何帮助,谢谢! :)
答案 0 :(得分:0)
您使用.product生成自定义Eclipse构建吗?或者您是否在现有Eclipse构建中添加插件?
无论哪种方式,我建议您将您的客户发送到与开发盒不同的机器上。它可能会让您有更好的机会重现问题。
根据跟踪,此产品“org.eclipse.epp.package.cpp.product”正在使用中。我的猜测是,定义该产品引用的应用程序的插件要么从zip中丢失,要么缺少其中一个依赖项。
如果将-console和-noExit添加为命令行参数,则可以进入OSGi提示符。然后,您可以键入“ss”以查看所有捆绑包的状态。然后,如果您为任何已解析的捆绑包键入“start”,则可以看到它们未启动的原因。当你没有其他想法时,这种调试会很有帮助。
在正在运行的系统上使用'ss'命令,而非系统将使用'ss'命令帮助确定您是否缺少任何捆绑包或捆绑包是否处于不同状态。