`

Java获取Jar包路径

阅读更多
                              
                                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读取Excel文件jar包

    Java读取xls、CSV、xlsx文件所用到的jar包,包括:opencsv-2.3.jar、poi-3.7-20101029.jar、poi-ooxml-3.7-20101029.jar

    通过java的反射技术获取,某个包路径下的类,并以表格形式打印类的属性注解注释及属性名称等

    通过java的反射技术获取,某个包路径下的类,并以表格形式打印类的属性注解及属性名称等,打印的结果以|分隔,复制到excel表格后,可以设置分列成需要的excel表格

    解决java打包之后无法加载静态资源的问题SWTResourceManager.java源码

    这是因为通过class.getResource()方法在IDEA中运行的路径和生成jar包获取的的路径是不同的。打成jar包后,获取图片的路径中有"xxx.jar!"这里面的内容是不能够被操作系统识别出来的,因此直接通过路径来获取文件是不...

    读取分析Excel所有jar包和java示例文件

    本资源包换所有读取分析excel的jar包和我写的用这些包读取分析excel文件的两个.java文件。

    shiro 1.4.0所有jar包(全)

    Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

    JAVA获取本地视频或者网络URL的时长.zip

    JAVA获取本地视频或者网络URL的时长。附代码和Jar包

    java代码在window获取linux文件

    java代码利用Jsch实现在windows平台获取linux服务器文件,已包含 jsch jar包

    获取类路径下资源

    类(包括class文件)可以存储在目录或jar文件中,或者存储在两者的组合中,但是只有在它们位于类路径中的某个地方时,java编译器或解释器才可以找到它们。而类路径对一个javaweb应用而言,就是WEB-INF/classes下和WEB-...

    C3P0连接池jar包(完整版).zip

    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....

    TangHanF#project_record_book#获取jar包所在路径1

    //得到windows下的正确路径// String path = monitorClientMain.class.getClassLoader().toStr

    java读取系统信息jar包.zip

    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

    java开源包4

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    JAVA网络爬虫jsoup包

    个人从网上搜索到的java网络爬虫jar包,实测可用,自己就是用的这个,将jar包添加到构建路径即可使用, Document document=Jsoup.connect("https://www.baidu.com/").ignoreContentType(true).timeout(0).post(); //...

    java图片分解程序jar

    首先可以运行jar文件,但是有的时候不知为什么打成jar文件后在某些情况就不能正确获取图片路径了(这个一直求解释,知道的哥们指点一 下,感激不尽),这样的话就需要把代码导入eclipse中运行了, 在image文件夹下...

    java开源包8

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    springboot项目打成jar包后无法获取static下的静态资源文件的问题分析

    主要介绍了springboot项目打成jar包后无法获取static下的静态资源文件的问题分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    java源码包---java 源码 大量 实例

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java开源包101

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包6

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包11

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

Global site tag (gtag.js) - Google Analytics