以编程方式生成Eclipse项目

问题描述:

我使用eclipse来处理最初独立于eclipse创建的应用程序。因此,应用程序的目录结构决不会对eclipse友好。以编程方式生成Eclipse项目

我想以编程方式为应用程序生成项目。该.project.classpath文件是很容易弄清楚,我已经了解到,项目存储在工作区下<workspace>/.metadata/.plugins/org.eclipse.core.resources/.projects

不幸的是,一些文件在这里下(特别是.location)似乎某种被编码二进制格式。在预感上我试图用ObjectInputStream进行反序列化 - 没有骰子。所以它看起来不是一个序列化的java对象。

我的问题是:有没有办法自动生成这些文件?

对于好奇,我在尝试反序列化.location文件中的错误是:

java.io.StreamCorruptedException: java.io.StreamCorruptedException: invalid stream header: 40B18B81

更新:我的目标是能够与更换新的Java Project向导一个命令行脚本或程序。原因是有问题的应用程序实际上是一个非常大的J2EE/weblogic应用程序,我喜欢将其分解为大量子项目(近20个)。更复杂的是,我们使用clearcase for SCM,并为每个版本创建一个新的分支。这意味着我需要为我创建的每个开发视图(分支)重新创建这些项目。这经常发生足够的自动化。

你应该可以通过编写一个小型的Eclipse插件来实现这一点。你甚至可以将它扩展成一个“无头”的RCP应用程序,并传入你需要的命令行参数。

准系统代码来创建一个项目是:

IProgressMonitor progressMonitor = new NullProgressMonitor(); 
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); 
IProject project = root.getProject("DesiredProjectName"); 
project.create(progressMonitor); 
project.open(progressMonitor); 

只要看看在为导入项目向导Eclipse代码给你的地方用它去一个更好的主意。

+0

谢谢,我会试试这个 – 2008-10-31 15:56:55

使用AntEclipse

可以从蚂蚁创建Eclipse项目。