Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用CDTAPI的无头插件_Java_Eclipse_Eclipse Plugin_Eclipse Cdt_Headless - Fatal编程技术网

Java 使用CDTAPI的无头插件

Java 使用CDTAPI的无头插件,java,eclipse,eclipse-plugin,eclipse-cdt,headless,Java,Eclipse,Eclipse Plugin,Eclipse Cdt,Headless,我正在尝试创建一个无头插件来更新Eclipse中C项目的.cproject文件。 为此,我使用cdt API,如: CoreModel model=CoreModel.getDefault(); ICProjectDescription description = model.getProjectDescription(project); 这种代码适用于ui Eclipse,但适用于我的headless应用程序, 我得到错误:java.lang.IllegalStateException:尚未

我正在尝试创建一个无头插件来更新Eclipse中C项目的.cproject文件。 为此,我使用cdt API,如:

CoreModel model=CoreModel.getDefault();
ICProjectDescription description = model.getProjectDescription(project);
这种代码适用于ui Eclipse,但适用于我的headless应用程序, 我得到错误:java.lang.IllegalStateException:尚未创建工作台

错误的完整堆栈跟踪是:

java.lang.NullPointerException
at rcpPluginProject.headless.Application.start(Application.java:234)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:660)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
at org.eclipse.equinox.launcher.Main.run(Main.java:1468)
at org.eclipse.equinox.launcher.Main.main(Main.java:1441)
发生了一个错误。查看日志文件 C:\Users\attiaschloe\Documents\Tasking\u plugin\runtime-rcpPluginProject.application.metadata.log

有一个cdt headless builder(下面链接中的源代码)在headless模式下使用这些api,但是当我运行类似的代码时,我得到了相同的错误。

有人知道我需要做些什么才能让这些api在headless模式下工作吗


谢谢你的帮助

你是否有一个堆栈跟踪,准确地显示是什么导致了错误?!从插件调用代码时出现消息问题:“org.eclipse.equinox.preferences”!堆栈0 java.lang.IllegalStateException:尚未创建工作台。在org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:95)上。。。在很多时候,是的,我只是把它贴在整个堆栈跟踪之上,而不仅仅是最后一点。您正在调用的东西是引用需要GUI运行的东西,完整的堆栈跟踪将显示正在执行的操作。您的问题并添加完整跟踪。该堆栈跟踪用于代码中的空指针异常,而不是非法状态异常。应用程序代码的第234行有错误。