在进行Eclipse RCP开发时,经常需要读取文件系统中的文件,这就涉及到一个路径的问题,如果使用绝对路径的话,程序的编写会非常不方便,所以在我们编写程序时,使用最多的还是相对路径,现将有关相对路径的问题列举如下:
1) “.\\define\\extend\\nav_blank.jpg”,此相对路径相对的是RCP平台,如果是在Eclipse开发环境中,该路径在Eclipse根目录下,如果导出为产品后,该文件夹将在产品的根目录下;
2) 插件一旦导出为Jar文件后,其内容是不能修改的,所以如果配置文件保存在插件中的话,对配置文件的修改将会在 \configuration\org.eclipse.osgi下产生一个临时文件用以保存修改后的值;
3) 如果不是以插件的方式运行而是直接从main函数来运行的话,相对路径均是相对项目的根目录而言。
另外,提供一个在插件中获取真实路径的方法:
public class GetPath {
/**
* 获得文件路径
* @param bundleID
* @param entry
* @return
*/
public static String getRealPath(String bundleID, String path) {
if (path == null || path.equals(""))
return "";
char p=path.charAt(0);
if(p=='C'||p=='D'||p=='E'||p=='F'||p=='G'||p=='H'||p=='A'){
return path;
}
URL urlentry = null;
String strEntry = "";
try {
Bundle bundle = Platform.getBundle(bundleID);
urlentry = bundle.getEntry("");
strEntry = FileLocator.toFileURL(urlentry).getPath();
} catch (IOException e1) {
e1.printStackTrace();
}
return strEntry+path;
}
/**
* 获得安装路径
* @param bundleID
* @param path
* @return
*/
public static String getInstallPath(String path){
char p=path.charAt(0);
if(p=='C'||p=='D'||p=='E'||p=='F'||p=='G'||p=='H'||p=='A'){
return path;
}
String strEntry = null;
String installPath = null;
try {
Location installLoc = LocationManager.getInstallLocation();
if (installLoc != null)
{
URL installURL = installLoc.getURL();
strEntry = installURL.getPath();
}
installPath = strEntry.substring(1, strEntry.length());
} catch (Exception e1) {
e1.printStackTrace();
}
return installPath+path;
}
}
分享到:
相关推荐
Eclipse RCP 允许开发者使用 eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中 已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP 入手可能会比较困难、费时。接下 来我们将主要讲述如何让RCP ...
最近抽些时间,更新到eclipse3.6上来,既作为为广大Eclipser入门plugin/RCP开发的一个方便之门,也是对自己近年来学习的一个总结吧。 每一章都会单独提取出来,并尽可能的独立于其他章节,更新中的源代码工程也会...
全书共分4篇10章,以“Eclipse快速入门篇→Eclipse图形应用开发篇→Eclipse RCP开发篇→Java Web应用程序开发篇”为线索具体展开,涵盖了Eclipse插件、界面和Web开发的方方面面的内容。书中给出大量实际、生动的案例...
1.1 Eclipse作为应用程序开发 工具的宿主...... 4 1.2 不仅仅是工具的宿主,Eclipse 还作为客户端应用程序的 宿主...... 5 1.3 什么是Eclipse?...... 6 1.3.1 工具与应用程序的集成平台..... 6 1.3.2 Java开发...
1.1 Eclipse作为应用程序开发 工具的宿主...... 4 1.2 不仅仅是工具的宿主,Eclipse 还作为客户端应用程序的 宿主...... 5 1.3 什么是Eclipse?...... 6 1.3.1 工具与应用程序的集成平台..... 6 1.3.2...
SWT是作为Eclipse开发环境的一个插件形式存在,可以在${你的eclipse安装路径}\plugins路径下的众多子目录下去搜索SWT.JAR文件,在找到的JAR文件中包含了SWT全部的Java类文件。因为SWT应用了JNI技术,因此同时也要...
1.1 Eclipse作为应用程序开发 工具的宿主...... 4 1.2 不仅仅是工具的宿主,Eclipse 还作为客户端应用程序的 宿主...... 5 1.3 什么是Eclipse?...... 6 1.3.1 工具与应用程序的集成平台..... 6 1.3.2...
本人只会用RCP开发个C/S的程序,最近看到RAP项目想试一下,在百度上看了很多文章关于如何部署RAP到Tomcat,有些文章已经过时的了,还是没能理解清楚,最后弄了2天时间,搞来搞去没办法调试出来,最后都想放弃了。...
第3章 Eclipse开发环境概述 22 3.1 Eclipse界面一览 22 3.2 Eclipse项目的文件结构 23 3.2.1 设置编译后.class文件的保存目录 23 3.2.2 导入项目使用的包 25 3.2.3 设置编译方式 26 3.2.4 运行程序 27 ...
在Eclipse中运行Maracas 准备,设置... 安装Eclipse RCP和RAP。 从其更新站点https://update.rascal-mpl.org/unstable安装不稳定版本的Rascal插件。 单击以获取更多信息。 从其中克隆Rascal项目java-build-manager并...
| ├── zheng-upms-dao -- 代码生成模块,无需开发 | ├── zheng-upms-client -- 集成upms依赖包,提供单点认证、授权、统一会话管理 | ├── zheng-upms-rpc-api -- rpc接口包 | ├── zheng-upms-rpc-...