Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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代码错误:工作区已关闭_Java_Eclipse Plugin - Fatal编程技术网

运行java代码错误:工作区已关闭

运行java代码错误:工作区已关闭,java,eclipse-plugin,Java,Eclipse Plugin,为了创建自动项目,我创建了一个具有以下依赖项的插件项目: org.eclipse.core.resources org.eclipse.equinox.registry org.eclipse.core.runtime 以及位于src文件夹中的以下java类: package tester; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspaceRoot; import o

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

  • org.eclipse.core.resources
  • org.eclipse.equinox.registry
  • org.eclipse.core.runtime
  • 以及位于src文件夹中的以下java类:

    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
    Main类来启动Eclipse。这是因为在工作区可用之前需要进行大量初始化

    要运行“headless”Eclipse应用程序,您应该使用
    org.Eclipse.core.runtime.applications
    扩展点来定义应用程序和要为应用程序运行的类。比如:

    
    

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

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

    要运行“headless”Eclipse应用程序,您应该使用
    org.Eclipse.core.runtime.applications
    扩展点来定义应用程序和要为应用程序运行的类。比如:

    
    

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

    右键单击项目并打开项目您是否查看了此问题是的,我看到了一些相关问题,右键点击项目>打开项目你看了这个问题吗?是的,我看到了一些相关的问题,但我解决不了。