我使用eclipse来处理最初独立于eclipse创建的应用程序.因此,应用程序的目录结构显然不适合日食.
我想以编程方式为应用程序生成一个项目.在.project
和.classpath
文件是很容易弄清楚,我已经了解到,项目存储在工作区下
不幸的是,这里的一些文件(特别是.location
)似乎是以某种二进制格式编码的.在预感中我试图使用ObjectInputStream
- 无骰子反序列化它.所以它似乎不是一个序列化的java对象.
我的问题是:有没有办法自动生成这些文件?
对于好奇,我试图反序列化.location
文件的错误如下:
java.io.StreamCorruptedException: java.io.StreamCorruptedException: invalid stream header: 40B18B81
更新:我的目标是能够使用命令行脚本或程序替换New Java Project向导.原因是所讨论的应用程序实际上是一个非常大的J2EE/weblogic应用程序,我喜欢将其分解为一个较大的(近20个)子项目集合.更复杂的是,我们对SCM使用clearcase并为每个版本创建一个新分支.这意味着我需要为我创建的每个开发视图(分支)重新创建这些项目.这通常足以自动化.
您应该能够通过编写一个小的Eclipse插件来实现这一目标.您甚至可以将其扩展为"无头"RCP应用程序,并传递您需要的命令行参数.
创建项目的准系统代码是:
IProgressMonitor progressMonitor = new NullProgressMonitor(); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IProject project = root.getProject("DesiredProjectName"); project.create(progressMonitor); project.open(progressMonitor);
只需看一下Import Project向导的eclipse代码,就可以更好地了解它的用途.