快速业务通道

基于Eclipse平台的代码生成技术 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-13

首先在当前 IWorkspace 中获得 IProject 的实例,并通过 create() 方法在文件系统中创建该 Project 。

清单 11. 生成项目

// 生成的项目的名称   String _projectName = "demo";   IWorkspace workspace = ResourcesPlugin.getWorkspace();   // 从当前 workspace 中获取 IProject 实例,其名称为 demo   IProject project = workspace.getRoot().getProject(_projectName);   // 创建项目   project.create(null);   // 对该项目进行描述,其内容输出到 .project 文件    IProjectDescription description = workspace   .newProjectDescription(project.getName());   description.setNatureIds(new String[] { JavaCore.NATURE_ID });   description.setLocation(null);   // 在当前 Workspace 环境中打开该项目   project.open(null);   // 在项目中设置刚设置的项目描述    project.setDescription(description, null);

通过 JavaCore 将当前项目转换为 JavaProject,并将其原有的 source root 删除,由于 Project 默认的 source root 为项目的根目录而非 JavaProject 使用的项目下的 src 路径,需要对其进行修改,本文由于在后面将会介绍对 source root 的创建,因此在这里采用删除的方式,实际创建时可依据需要进行修改。

清单 12. 生成 JAVA 项目

// 在 JavaCore 中将当前 IProject 创建为 IJavaProject   IJavaProject javaProject = JavaCore.create(project);   // 获得生成项目中的 classpath 信息,并将项目中的 source 目录信息删除   // 由于在下面将重新生成项目的 source root,因此为了保证不重复,   // 在这里将多余的错误 source root 删除   List<IClasspathEntry> classpath = new UniqueEList<IClasspathEntry>(   Arrays.asList(javaProject.getRawClasspath()));   for (int i = 0, len = classpath.size(); i < len; i++) {   IClasspathEntry entry = classpath.get(i);   if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE   && ("/" + project.getName()).equals(entry.getPath()   .toString())) {   classpath.remove(i);   }   }

创建 JavaProject 的 classpath 信息,每个 IClasspathEntry 对应 classpath 中的一条细目,并将其加入到 classpath 中。

清单 13. 生成 Classpath

// 添加新的 classpath 细目,包括 source 目录,bin 目录运行时的 container   // 以及其他需要添加的如变量(variable),jar 包(library)等等   // 生成效果为 <classpathentry kind="src" path="src"/>   IClasspathEntry classpathEntry = JavaCore.newSourceEntry(new Path("/"   + project.getName() + "/src"));   // 生成效果为    // <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>   IClasspathEntry jreClasspathEntry = JavaCore   .newContainerEntry(new Path(   "org.eclipse.jdt.launching.JRE_CONTAINER"));   classpath.add(classpathEntry);   classpath.add(jreClasspathEntry);   // 在此处可以创建其他需要的 classpath 信息

基于Eclipse平台的代码生成技术(9)

时间:2012-02-26 IBM 吕锋 于沛 王轩

通过 IFolder 在文件系统中创建项目需要的 src 文件夹和 bin 文件夹。

清单 14. 生成 SRC 文件夹

// 在 JavaProject 的文

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号