Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 eclipse工作区是一个封闭的问题_Java_Eclipse - Fatal编程技术网

Java eclipse工作区是一个封闭的问题

Java eclipse工作区是一个封闭的问题,java,eclipse,Java,Eclipse,如何从java程序访问eclipse工作区。 当我使用IWorkspace workspace=ResourcesPlugin.getWorkspace().getRoot()时,会出现如下异常 java.lang.IllegalStateException: Workspace is closed. at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:329) at amdocs

如何从java程序访问eclipse工作区。 当我使用
IWorkspace workspace=ResourcesPlugin.getWorkspace().getRoot()
时,会出现如下异常

java.lang.IllegalStateException: Workspace is closed.
  at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:329)
  at amdocs.amsp.test.EMFCodeGen.load(EMFCodeGen.java:37)
  at amdocs.amsp.test.EMFCodeGen.main(EMFCodeGen.java:26)

您能告诉我如何从eclipse外部的独立java程序访问工作区吗。(当然有一个包含所有jar的类路径)

您是否试图在基于OSGi的应用程序(例如eqinox)中实现它?因为工作区是在应该由框架管理的
org.eclipse.core.resources
捆绑包启动时创建的,所以您的异常意味着该捆绑包可能还没有启动。

您是否试图在基于OSGi的应用程序(例如eqinox)中执行此操作?因为工作区是在应该由框架管理的
org.eclipse.core.resources
捆绑包启动时创建的,所以您的异常意味着捆绑包可能还没有启动。

据我所知,使用
ResourcesPlugin.getWorkspace()检索的工作区是运行平台正在使用的工作区,如果
Platform.isRunning()
。因此,如果您运行的是普通Java应用程序,而不是Eclipse应用程序,则不存在工作区。

据我所知,使用
ResourcesPlugin.getWorkspace()检索的工作区是运行平台正在使用的工作区,如果
Platform.isRunning()
。因此,如果您运行的是普通Java应用程序,而不是Eclipse应用程序,那么就不存在工作区。

如果您想这样运行应用程序,它必须是无头的。下面您可以看到如何创建无头项目:

如果您想这样运行应用程序,它必须是无头的。下面您可以看到如何创建无头项目: