`

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集成kettle所有jar包

    然而,在Java应用程序中集成Kettle,需要将相关的Jar包添加到项目的类路径中,以便能够调用其API来执行工作流或转换。 首先,要理解Java与Kettle的集成,我们需要知道Kettle的主要组件。Kettle由以下几部分组成: ...

    java连接oracle数据库jar包

    在Java中实现Oracle数据库连接,我们需要用到特定的JAR包,这些JAR包通常包含在Oracle的数据库客户端或者Oracle JDBC驱动程序中。 首先,Oracle JDBC驱动分为两种类型: Thin驱动和 Thick驱动。Thin驱动是一种纯...

    java-http请求jar包

    在Java项目中使用Apache HttpClient,首先需要将`httpcomponents-client-4.5.5.jar`添加到项目的类路径中。这个jar包包含了HttpClient的核心类和其他依赖,例如HTTP协议解析的`httpcore`模块,以及处理HTTP连接管理...

    C++调用java jar包测试代码

    标题 "C++调用java jar包测试代码" 描述了一个跨语言交互的场景,其中C++程序通过调用Java编译后的jar包来执行特定功能。这个过程涉及到多个技术点,包括Java的编译和打包,C++的编程以及两者之间的接口调用。 1. *...

    Java获取视频时间JAR包

    "Java获取视频时间JAR包"正是为了解决这个问题而设计的,它提供了一个Java库,允许开发者通过简单的API调用来获取视频文件的时长。下面将详细介绍这个JAR包的用途、工作原理以及如何在Java项目中使用它。 首先,让...

    java oracle 的jar包

    Java Oracle的JAR包是Java应用程序与Oracle数据库交互的关键组件,它们提供了Java Database Connectivity (JDBC)驱动程序,使得开发者可以使用Java语言编写程序来访问和操作Oracle数据库。Oracle JDBC驱动程序主要有...

    java的workbook类的jar包

    在Java项目中,这可以通过IDE的依赖管理功能(如Maven或Gradle)或者手动将jar包放入`lib`目录并配置`classpath`来实现。 在压缩包子文件的文件名称列表中,"jxl"可能指的是JExcelApi,这是另一个用于处理Excel的...

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

    在给定的场景中,我们需要实现的功能是遍历指定包路径下的所有类,获取它们的属性信息,包括属性的注解和注释,并以表格形式输出。 首先,我们需要通过`Package.getPackage(String name)`方法获取指定包名的Package...

    Java实现从jar包中读取指定文件的方法

    首先,Java提供了`java.util.jar`包,其中包含处理JAR文件所需的类。`JarFile`类是核心类,它允许我们打开并操作JAR文件。在给定的代码示例中,`JarFileAccess`类展示了如何读取JAR文件中的指定文件并将其复制到目标...

    java上传jar包

    Java上传jar包是一个常见的开发任务,特别是在分布式系统或者云服务中,我们需要将应用程序打包成jar文件,然后通过网络上传到服务器。在这个过程中,`commons-fileupload-1.2.1.jar`和`commons-io-1.4.jar`是两个...

    EXCELJAVA读取JAR包

    标题“EXCELJAVA读取JAR包”涉及的是Java编程中的一个特定应用场景,即使用Java来读取Excel文件,而这个过程可能涉及到从一个JAR文件中操作数据。描述中提到,开发者创建了一个Java项目,引入了Apache POI库(通过...

    泛微E-cology 二次开发Java Jar包

    本压缩包中的"泛微E-cology 二次开发JAVA jar包",重点在于"jar"文件,这是一种Java平台下的可执行文件格式,用于打包类库、资源文件等,便于Java程序调用。E8版本表示这是泛微E-cology的一个特定版本,可能包含了...

    java poi所需的jar包

    - **添加依赖**: 首先,你需要将Apache POI相关的jar包添加到你的项目类路径中。在你的描述中提到的"ApachePoiAllJar"应该包含了所有必要的jar文件,包括poi、poi-ooxml、poi-ooxml-schemas、poi-scratchpad等。 - *...

    java 读取jar包文件

    在Java编程中,读取jar包内的文件是一个常见的需求,特别是在运行时动态加载资源或类文件时。Java提供了一种内置的方式,通过`java.util.jar`包中的`JarFile`和`JarInputStream`类来实现这个功能。下面将详细介绍...

    java连接oracle的jar包

    - 导入ojdbc.jar:在Java项目中,需要将ojdbc.jar包加入到类路径中,以便使用Oracle的JDBC驱动。 - 建立连接:使用`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码来建立连接。 - 创建...

    java连接mongodb的jar包

    首先,我们来看“java连接mongodb的jar包”。这个“mongodbjar”通常指的是MongoDB的Java驱动程序的JAR文件,例如`mongodb-driver.jar`、`mongodb-driver-core.jar`和`bson.jar`等。这些JAR文件包含了所有必要的类和...

    java POI jar包

    描述中的"导入lib即可用"提示我们,为了在Java项目中使用Java POI功能,只需将下载的jar包添加到项目的类路径(classpath)中。这可以通过多种方式完成,比如在Eclipse或IntelliJ IDEA等IDE中,可以将jar包添加到...

    OpenCv java使用jar包.7z

    1. **下载OpenCV的Java库**:首先,你需要从OpenCV的官方网站或者第三方源获取适用于Java的jar包,这个压缩包"OpenCv java使用jar包"可能就是这样的资源。 2. **解压并引入库**:将下载的7z文件解压,提取出jar包。...

    tomcat 部署java项目 jar

    标题中的“tomcat部署java项目jar”指的是在Apache Tomcat服务器上部署Java Web应用程序,通常以JAR(Java Archive)格式打包。Tomcat是一个开源的轻量级应用服务器,主要用于运行Servlet和JSP(JavaServer Pages)...

Global site tag (gtag.js) - Google Analytics