做了几个小软件需要用到打包后jar的路径,找了些日子终于到了可行方法...
下面专门封装了一个类来处理:
import java.io.File;
/**
* 获取打包后jar的路径信息
* @author Administrator
* 2011-01-16 13:53:12
*/
public class JarTool {
//获取jar绝对路径
public static String getJarPath(){
File file = getFile();
if(file==null)return null;
return file.getAbsolutePath();
}
//获取jar目录
public static String getJarDir() {
File file = getFile();
if(file==null)return null;
return getFile().getParent();
}
//获取jar包名
public static String getJarName() {
File file = getFile();
if(file==null)return null;
return getFile().getName();
}
private static File getFile() {
//关键是这行...
String path = JarTool.class.getProtectionDomain().getCodeSource()
.getLocation().getFile();
try{
path = java.net.URLDecoder.decode(path, "UTF-8");//转换处理中文及空格
}catch (java.io.UnsupportedEncodingException e){
return null;
}
return new File(path);
}
}
必须要打包成jar后才能正确获取相关路径信息,下面写了个测试类:
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class TestFrame extends JFrame{
public TestFrame() {
JTextArea ta = new JTextArea();
ta.setEditable(false);
ta.append("name: "+JarTool.getJarName()+"\n");
ta.append("dir: "+JarTool.getJarDir()+"\n");
ta.append("path: "+JarTool.getJarPath()+"\n");
add(ta);
pack();
setTitle("动态获取Jar路径信息");
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TestFrame();
}
}
将上面一起打包成path.jar后放到桌面运行结果:
无论path.jar放到任何地方都能得到正确的路径信息 (*^__^*) 嘻嘻……
主要靠下面两行代码实现
class.getProtectionDomain().getCodeSource().getLocation().getFile();这行作用是获取当前的绝对路径信息
java.net.URLDecoder.decode(path, "UTF-8");此行是将path中的空格和中文“乱码”转换正确回显
对此可以为自己做的软件“注册”随系统开机启动了...
- 大小: 9.4 KB
分享到:
相关推荐
利用swt中的一个获取图片的类...打成jar包后,获取图片的路径中有"xxx.jar!"这里面的内容是不能够被操作系统识别出来的,因此直接通过路径来获取文件是不可能,使用SWTResourceManager可实现这一功能。
主要介绍了springboot项目打成jar包后无法获取static下的静态资源文件的问题分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
自己写的一些工具类的打包 主要是文件操作 文件夹路径获取 xml文件操作 json对象转换
(2)第1个实例需要将从支付宝获取的接口API打包成jar文件,打包后的目录如图所1.1示,然后将该jar文件与jsf-api.jar、jsf-impl、jstl-1.2.jar以及SQL Server 2000数据库驱动包(mssqlserver.jar、msutil.jar、...
构建一个Java应用的Docker镜像 ...在jar包同一路径下创建文件,命名为:Dockerfile,内容是: # FROM --- 获取基础镜像base image # RUN --- 类似于执行 linux指令 # COPY --- 类似于linux copy指令 # EXPOSE ---
进入界面后点击拷贝内核按钮,会弹出保存的路径(参考顶上【图3】),打开这个路径后提取里面的core_private/x5.debug.tbs这个文件,其实这个是一个apk/zip文件,30多M,解压后得到一堆so和jar等文件,先复制出来...
客户端会将文件分卷POST到服务端,服务端需要接收这部分文件并保存为临时文件;分卷上传结束后客户端将调用服务端将临时文件拼接。请自行修改源码中的路径使...class文件需要打包为jar并签名,否则无法获取本地文件内容
1.详细配置,请参见control/config.ini文件 ...该工具使用Java 反射制作,所以请将要转换的jar的所有依赖文件全部打包到一个jar文件中,否则转换有可能失败 如要获取源码,请联系bliplink@gmail.com
强大的宙斯 特征 将学生项目打包到.jar存档中 使用Checkstyle检查代码样式 ...所有命令都有自己的帮助菜单,使用-h键可获取更多信息! 运行宙斯 java --enable-preview -jar <ZEUS> 用键运行宙斯 java --enab
选择对应版本的jar下载获取 网盘备份: Attention: Bug fixed 0.1.4-0.1.5版本模拟Hibernate模式存在严重错误,无法正确运行,现在网盘镜像中的v0.1.5和压缩打包项目已经修复,不再提供0.1.4版本下载,请...
该工具已经通过 Maven 打包成 CertificateDownloader.jar,可在 中下载。 执行 java -jar CertificateDownloader.jar -h ,查看帮助: 这里,必需参数有: 商户的私钥文件,即 -f 证书解密的密钥,即 -k 商户号,即 ...
4、执行mvn install打包,在dist下会生成你的扩展实现jar。 5、把扩展实现jar拷贝到anylog的providers目录下,重启即可生效。 tips:在实现spi时,我们提供了SpiDesc注解,该注解作用在你实现的...
今天小编就为大家分享一篇关于Springboot项目打war包docker包找不到resource下静态资源的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
用户信息导入后,就可以用机器人工具进行房间的机器人分配了。 九、eclipse加载荣耀版时红叉an outline is not available报错的处理 很多时候这些错误不是程序问题造成,而是环境问题造成。这个主要是第三方的类库...
此外,该项目旨在为 IPython 等场景提供发送打包 jar(标准作业)和代码片段(具有修订功能)的能力,以进行动态更新。 最后,内核编写了未来计划,以允许多个应用程序连接到单个内核以利用相同的 Spark 上下文。 ...
键入java -jar target/spring-boot-example-1.0-SNAPSHOT.jar来运行打包的应用程序。 个人资料 设置jvm属性-Dspring.profiles.active=prod以使用application-prod.properties 路径 检查ExampleController类以获取受...
如果不能运行,将ch07文件夹下的swt.jar加入构建路径,然后在运行中的JVM参数中加入-Djava.library.path="dll所在目录的绝对路径"即可。 也可以在命令行下直接运行该程序,假设ch07文件夹放在D盘跟目录。则在cmd下...
和上面配置是一样的道理,可以在相同 一级域名 下的所有域名都可以获取到登录的信息。 四、简单实现了单个帐号只能在一处登录。 我们在其他的系统中可以看到,单个帐号只允许一人使用,在A处登录了,B处再登录,那A...
10.4.5 打包生成JAR文件 10.5 EJB的部署—J2SDKEE 10.5.1 使用deploytool打包EJB 10.5.2 使用deploytol部署EJB 10.6 EJB的部署—BEA WebLogic 10.6.1 生成可部署的ejb-jar包 10.6.2 部署WbLogic的ejb-jar包 ...