生成可执行jar包和获得jar包同目录文件的方法
2012-05-22 23:14
337 查看
1、生成jar包命令:jar cvfm test.jar manifest.mf com
2、有依赖包时,请注意附件中标的空格,每个jar包一行且前后有空格,最后一行需回车。
3、获得jar包同目录文件的方法:
2、有依赖包时,请注意附件中标的空格,每个jar包一行且前后有空格,最后一行需回车。
3、获得jar包同目录文件的方法:
public static String getAppPath(Class cls) { //检查用户传入的参数是否为空 if (cls == null) throw new java.lang.IllegalArgumentException("参数不能为空!"); ClassLoader loader = cls.getClassLoader(); //获得类的全名,包括包名 String clsName = cls.getName() + ".class"; //获得传入参数所在的包 Package pack = cls.getPackage(); String path = ""; //如果不是匿名包,将包名转化为路径 if (pack != null) { String packName = pack.getName(); //此处简单判定是否是Java基础类库,防止用户传入JDK内置的类库 if (packName.startsWith("java.") || packName.startsWith("javax.")) throw new java.lang.IllegalArgumentException("不要传送系统类!"); //在类的名称中,去掉包名的部分,获得类的文件名 clsName = clsName.substring(packName.length() + 1); //判定包名是否是简单包名,如果是,则直接将包名转换为路径, if (packName.indexOf(".") < 0) path = packName + "/"; else {//否则按照包名的组成部分,将包名转换为路径 int start = 0, end = 0; end = packName.indexOf("."); while (end != -1) { path = path + packName.substring(start, end) + "/"; start = end + 1; end = packName.indexOf(".", start); } path = path + packName.substring(start) + "/"; } } //调用ClassLoader的getResource方法,传入包含路径信息的类文件名 java.net.URL url = loader.getResource(path + clsName); //从URL对象中获取路径信息 String realPath = url.getPath(); //去掉路径信息中的协议名"file:" int pos = realPath.indexOf("file:"); if (pos > -1) realPath = realPath.substring(pos + 5); //去掉路径信息最后包含类文件信息的部分,得到类所在的路径 pos = realPath.indexOf(path + clsName); realPath = realPath.substring(0, pos - 1); //如果类文件被打包到JAR等文件中时,去掉对应的JAR等打包文件名 if (realPath.endsWith("!")) realPath = realPath.substring(0, realPath.lastIndexOf("/")); /*------------------------------------------------------------ ClassLoader的getResource方法使用了utf-8对路径信息进行了编码,当路径 中存在中文和空格时,他会对这些字符进行转换,这样,得到的往往不是我们想要 的真实路径,在此,调用了URLDecoder的decode方法进行解码,以便得到原始的 中文及空格路径 -------------------------------------------------------------*/ try { realPath = java.net.URLDecoder.decode(realPath, "utf-8"); } catch (Exception e) { throw new RuntimeException(e); } return realPath; }
相关文章推荐
- 生成可执行jar包和获得jar包同目录文件的方法
- 使用Myeclipse生成可执行的jar文件的方法
- java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法
- 使用Myeclipse生成可执行的jar文件的方法
- 使用Myeclipse生成可执行的jar文件的方法
- 使用Myeclipse生成可执行的jar文件的方法
- 如何生成JAR包并转换成EXE可执行文件
- java源码生成jar可执行文件
- java文件打包成可执行jar的方法
- VC 6.0压缩生成可执行文件的一个方法
- 使用shell删除目录下几天前生成文件方法
- 生成可执行jar文件(转)
- 采用 EXE4j 把 jar 生成 exe 可执行文件时,出现 NO JVM could be found on your system异常
- WindowsAPI详解——获得进程可执行文件路径的几种方法
- 命令行下生成可执行的jar文件
- C# 获得当前目录和执行目录的一些方法
- makefile 将生成的目标文件和可执行文件存放在指定的目录下
- 如何从Eclipse中导出可执行jar包,并最终生成exe可执行文件
- Java程序如何生成Jar 执行文件(1)
- Java项目 使用MyEclipse打包生成jar文件方法