Java 如何通过插件在Eclipse项目中创建包(文件夹)
我尝试为Eclipse开发一个小插件,在几个文件夹(包)中创建几个Java文件,作为大型软件新模块的起点 我尝试过使用Java 如何通过插件在Eclipse项目中创建包(文件夹),java,eclipse,plugins,Java,Eclipse,Plugins,我尝试为Eclipse开发一个小插件,在几个文件夹(包)中创建几个Java文件,作为大型软件新模块的起点 我尝试过使用IFile对象,如下所示: final IFile file = container.getFile(new Path(myFileName)); ... file.create(stream, true, monitor); 只要文件路径上的所有文件夹都存在,该选项就有效。但它不会创建任何丢失的文件夹(新包),但会引发“资源不存在”异常 通过IResource或IWorksp
IFile
对象,如下所示:
final IFile file = container.getFile(new Path(myFileName));
...
file.create(stream, true, monitor);
只要文件路径上的所有文件夹都存在,该选项就有效。但它不会创建任何丢失的文件夹(新包),但会引发“资源不存在”异常
通过
IResource
或IWorkspace
对象,我找不到任何方法来实现这一点。我知道这并不能回答您的问题,但我建议您看看?通过这种方式,您可以使用所需的目录结构和样板文件,以可配置且不依赖于Eclipse的方式创建项目模板。我个人使用一种小方法,递归创建所有文件夹,例如:
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
。