JDT为这些不同的构建路径提供
来源:互联网 发布:恶意软件图片 编辑:程序博客网 时间:2024/06/06 02:10
每种不同的构建路径都有不同的作用:源文件夹是把源码进行构建的途径,二进制库是导入少量jar包的方式,依赖项目是供多项目分模块开发使用的,使用类路径变量可以避免二进制包的路径依赖,而类路径容器则为大量二进制库的引入提供了方便。
JDT为这些不同的构建路径提供了一个统一的接口:IClassPathEntry,只要调用IJavaProject的setRawClasspath方法就可以为项目设定构建路径。
可以看到setRawClasspath方法需要一个IClasspathEntry数组,数组中的元素就是要设置的每一个构建路径。前面提到的JavaCore类提供了一系列的静态方法来帮助我们生成不同的IClasspathEntry,而无须关注生成的细节。下面来看不同构建路径的添加方式。
① 源文件夹。使用JavaCore.newSourceEntry方法。下面的代码的作用是构造项目MyProject的源文件夹src的类路径条目:
JavaCore.newSourceEntry(new Path("/MyProject/src"));
② 二进制库IClasspathEntry。使用JavaCore.newLibraryEntry 方法。下面的代码就是构造MyProject的类文件lib的类路径条目:
Path("/MyProject/lib"),null, null,false);
以下类路径条目具有源代码连接:
设定关联源代码包有利于代码的跟踪调试。
③ 依赖项目。使用JavaCore.newProjectEntry方法。下面的代码就是构造依赖项目MyFramework:
IClassPathEntry prjEntry = JavaCore.newProjectEntry(new
Path("/MyFramework"), true);
④ 类路径变量。使用JavaCore.newVariableEntry方法。类路径变量对于整个工作空间来说是全局的,并且可以通过 JavaCore 方法 getClasspathVariable 和 setClasspathVariable 来处理。
可能会注册自动的类路径变量初始化方法,当启动工作空间时,通过扩展点 org.eclipse. jdt.core.classpathVariableInitializer来调用该类路径变量初始化方法。
以下类路径条目指示一个库,该库的位置存放在变量HOME中。使用变量SRC_HOME和SRC_ROOT来定义源代码连接:
IClassPathEntry varEntry = JavaCore.newVariableEntry(
new Path("HOME/foo.jar"), //库路径
new Path("SRC_HOME/foo_src.zip"), //源码归档路径
new Path("SRC_ROOT"), //源码归档根路径
true);
JavaCore.setClasspathVariable("HOME", new Path("d:/myInstall"), null);
⑤ 类路径容器。通过 JavaCore的getClasspathContainer和setClasspathContainer两个方法来处理类路径容器。
可能会注册一个自动的类路径容器初始化方法,当需要绑定容器时,通过扩展点 org.eclipse.jdt.core.classpathContainerInitializer来被动地调用类路径容器初始化方法。
以下类路径条目指示系统类库容器:
IClassPathEntry varEntry = JavaCore.newContainerEntry( new Path("JDKLIB/default"),false); JavaCore.setClasspathContainer( new Path("JDKLIB/default"), new IJavaProject[]{ myProject }, new IClasspathContainer[] { new IClasspathContainer() { public IClasspathEntry[] getClasspathEntries() { return new IClasspathEntry[]{ JavaCore.newLibraryEntry( new Path("d:/rt.jar"), null, null, false); }; } public String getDescription() { return "Basic JDK library container"; } public int getKind() { return IClasspathContainer.K_SYSTEM; } public IPath getPath() { return new Path("JDKLIB/basic"); } } }, null);
我们只要调用相应的方法创建我们的类路径条目就可以了,然后把这些条目组成的数组通过setRawClasspath方法设定到项目中。需要注意的是如果我们只把要添加的类路径条目传入 setRawClasspath方法的话,就会替换原有的项目构建路径,这常常是我们不希望的。可以调用IJavaProject的 readRawClasspath方法读取项目已有的设置,把我们要设置的构建路径添加到它的后面,然后再调用setRawClasspath方法设定新的项目构建路径。
- JDT为这些不同的构建路径提供
- JDT提供的工具类JavaConventions
- 若干个不同的自然和为定值,这些自然数乘积最大为多少?
- 使用Eclipse JDT 构建AST
- 在 Adobe AIR 中为不同屏幕尺寸的多种设备提供支持
- 在 Adobe AIR 中为不同屏幕尺寸的多种设备提供支持
- 在 Adobe AIR 中为不同屏幕尺寸的多种设备提供支持
- 在 Adobe AIR 中为不同屏幕尺寸的多种设备提供支持
- 不同的路径
- 题目 :不同的路径
- LintCode -- 不同的路径
- LintCode 不同的路径
- 不同的路径
- 不同的路径 II
- LintCode_不同的路径
- 不同的路径
- 不同的路径
- LintCode:不同的路径
- contains:判断是否存在指定的资源。
- 分析thinkphp自带的分页函数
- cocos2dx ipad 五指缩小再放大后,应用无响应
- 程序员常用的一些工具
- poj-2115-C Looooops-扩展欧几里德
- JDT为这些不同的构建路径提供
- vmware虚拟机上网问题
- Oracle简单查询语句
- 常见的HTTP返回码
- 七夕前面试被虐总结
- SQLserver 中 Text 数据类型 在 EntityFramework 中使用注意
- 算法题:合并两个有序的链表
- {}企业如何进行组合营销
- OC实例变量可见度 setter方法和getter方法