gpt4 book ai didi

java - 运行java代码错误: Workspace is closed

转载 作者:行者123 更新时间:2023-12-01 18:36:20 25 4
gpt4 key购买 nike

为了创建自动项目,我创建了一个具有以下依赖项的插件项目:

  1. org.eclipse.core.resources
  2. org.eclipse.equinox.registry
  3. org.eclipse.core.runtime

以下 java 类位于 src 文件夹中:

package tester;

import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;

public class tes {

public static void main(String[] args) {
// TODO Auto-generated method stub
IProgressMonitor progressMonitor = new NullProgressMonitor();
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject project = root.getProject("DesiredProjectName");
try {
project.create(progressMonitor);
project.open(progressMonitor);
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

运行插件后,我运行java类在eclipse应用程序中创建项目,但出现以下错误:

Exception in thread "main" java.lang.IllegalStateException: Workspace is closed.
at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:399)
at tester.tes.main(tes.java:15)

我做错了什么?我为我糟糕的英语表示歉意。

最佳答案

您不能在普通 Java 程序的 main 类中开始使用 Eclipse 资源。您必须使用 eclipse 命令或指定 org.eclipse.equinox.launcher.Main 主类来启动 Eclipse。这是因为在工作区可用之前需要完成大量初始化。

要运行“ headless ”Eclipse 应用程序,您应该使用org.eclipse.core.runtime.applications 扩展点来定义应用程序以及要为该应用程序运行的类。像这样的东西:

<extension
id="appname"
point="org.eclipse.core.runtime.applications">
<application
cardinality="singleton-global"
thread="main"
visible="true">
<run
class="package.Application">
</run>
</application>
</extension>

您可以在 eclipse 命令的 -application 参数上指定此应用程序 ID。

关于java - 运行java代码错误: Workspace is closed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21839197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com