【问题标题】:How to create packages (folders) in an Eclipse project via plugin如何通过插件在 Eclipse 项目中创建包(文件夹)
【发布时间】:2012-01-26 06:03:18
【问题描述】:

我尝试为 Eclipse 开发一个小插件,以在多个文件夹(包)中创建多个 Java 文件,作为大型软件新模块的起点。

我尝试过像这样使用IFile 对象:

final IFile file = container.getFile(new Path(myFileName));
...
file.create(stream, true, monitor);

只要文件路径上的所有文件夹都存在,它就可以工作。但它不会创建任何丢失的文件夹(新包),但会引发“资源不存在”异常。

我无法通过IResourceIWorkspace 对象找到任何方法。

【问题讨论】:

    标签: java eclipse plugins


    【解决方案1】:

    我知道这不能回答你的问题,但我可以建议你看看Maven Archetypes 吗?这样,您可以以可配置且不依赖 Eclipse 的方式创建具有所需目录结构和样板文件的项目模板。

    【讨论】:

      【解决方案2】:

      就个人而言,我使用一种递归创建所有文件夹的小方法,例如:

      IFile file = project.getFile(newPath);
      
      prepare((IFolder) file.getParent());
      

      然后是方法

      public void prepare(IFolder folder) {
          if (!folder.exists()) {
              prepare((IFolder) folder.getParent())
              folder.create(false, false, null);
          }
      }
      

      这对我很有效。

      【讨论】:

      • 我只是没有遇到 IFolder 界面 - 非常感谢!
      • 我还必须像这样检查父容器的类型:if (folder.getParent() instanceof IFolder) prepare...。否则,对getParent 的最后一次调用将返回IProject,随后的转换将导致ClassCastException
      猜你喜欢
      • 2014-10-07
      • 1970-01-01
      • 2017-11-03
      • 1970-01-01
      • 2014-03-06
      • 1970-01-01
      • 1970-01-01
      • 2019-03-17
      • 1970-01-01
      相关资源
      最近更新 更多