public class JarUtil
{
private String jarName;
private String jarPath;
public JarUtil(Class clazz)
{
String path =
clazz.getProtectionDomain().getCodeSource().getLocation()
.getFile();
try
{
path =
java.net.URLDecoder.decode(path, "UTF-8");
}
catch
(java.io.UnsupportedEncodingException e)
{
e.printStackTrace();
}
java.io.File jarFile = new
java.io.File(path);
this.jarName = jarFile.getName();
java.io.File parent =
jarFile.getParentFile();
if (parent != null)
{
this.jarPath =
parent.getAbsolutePath();
}
}
/**
* 获取Class类所在Jar包的名称
*
* @return Jar包名 (例如:C:\temp\demo.jar 则返回
demo.jar )
*/
public String getJarName()
{
try
{
return
java.net.URLDecoder.decode(this.jarName,
"UTF-8");
}
catch
(java.io.UnsupportedEncodingException e)
{
e.printStackTrace();
}
return null;
}
/**
* 取得Class类所在的Jar包路径
*
* @return 返回一个路径 (例如:C:\temp\demo.jar 则返回
C:\temp )
*/
public String getJarPath()
{
try
{
return
java.net.URLDecoder.decode(this.jarPath,
"UTF-8");
}
catch
(java.io.UnsupportedEncodingException e)
{
e.printStackTrace();
}
return null;
}
public static void main(String[] args)
throws Exception
{
JarUtil ju = new JarUtil(JarUtil.class);
System.out.println("Jar name: " +
ju.getJarName());
System.out.println("Jar path: " +
ju.getJarPath());
}
}
分享到:
相关推荐
Java读取xls、CSV、xlsx文件所用到的jar包,包括:opencsv-2.3.jar、poi-3.7-20101029.jar、poi-ooxml-3.7-20101029.jar
通过java的反射技术获取,某个包路径下的类,并以表格形式打印类的属性注解及属性名称等,打印的结果以|分隔,复制到excel表格后,可以设置分列成需要的excel表格
这是因为通过class.getResource()方法在IDEA中运行的路径和生成jar包获取的的路径是不同的。打成jar包后,获取图片的路径中有"xxx.jar!"这里面的内容是不能够被操作系统识别出来的,因此直接通过路径来获取文件是不...
本资源包换所有读取分析excel的jar包和我写的用这些包读取分析excel文件的两个.java文件。
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
JAVA获取本地视频或者网络URL的时长。附代码和Jar包
java代码利用Jsch实现在windows平台获取linux服务器文件,已包含 jsch jar包
类(包括class文件)可以存储在目录或jar文件中,或者存储在两者的组合中,但是只有在它们位于类路径中的某个地方时,java编译器或解释器才可以找到它们。而类路径对一个javaweb应用而言,就是WEB-INF/classes下和WEB-...
1.导入jar包 c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar 2.定义配置文件 名称:c3p0.properties 或者 c3p0-config.xml 路径:直接将文件放在src目录下即可 3.创建数据库连接池对象 ComboPooledDataSource 4....
//得到windows下的正确路径// String path = monitorClientMain.class.getClassLoader().toStr
Sigar 第三方获取服务器cpu,内存,...java 读取系统信息相关jar 包 libsigar-amd64-linux.so libsigar-amd64-solaris.so sigar-amd64-winnt.dll sigar-x86-winnt.dll 解压后路径:hyperic-sigar-1.6.4\sigar-bin\lib
jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...
个人从网上搜索到的java网络爬虫jar包,实测可用,自己就是用的这个,将jar包添加到构建路径即可使用, Document document=Jsoup.connect("https://www.baidu.com/").ignoreContentType(true).timeout(0).post(); //...
首先可以运行jar文件,但是有的时候不知为什么打成jar文件后在某些情况就不能正确获取图片路径了(这个一直求解释,知道的哥们指点一 下,感激不尽),这样的话就需要把代码导入eclipse中运行了, 在image文件夹下...
jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...
主要介绍了springboot项目打成jar包后无法获取static下的静态资源文件的问题分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...
jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...
jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...