首页
学习
活动
专区
圈层
工具
发布

获取当前jar包路径_java获取jar文件

一、获取可执行jar包所在目录 (1)方法一:使用 System.getProperty("java.class.path") 获取classpath的路径,若没有其他依赖,在cmd下运行该可执行jar...包,则该值即为该jar包的绝对路径。...的结果应当是该可运行jar包的绝对路径, * 此时我们只需要经过字符串解析,便可得到jar所在目录 */ if(filePath.contains(pathSplit)){ filePath =...("jar包所在目录:"+filePath); 二、获取当前JVM运行目录 使用: System.getProperty("user.dir") 三、获取jar包内的资源文件 文件与classes在同一目录下...,或者使用maven构建时,文件存在于resources文件夹下,可以使用: getResourceAsStream 代码如下: /** * 读取jar包中的资源文件 */ InputStream

8.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java文件路径服务器路径的获取

    Java文件路径获取 几种获取方式 getResourceAsStream ()返回的是inputstream getResource()返回:URL Class.getResource(“”)...基本上,两个都可以用于从classpath里面进行资源读取,classpath包含classpath中的路径和classpath中的jar 两个方法的区别是资源的定义不同,一个主要用于相对与一个object...,很多时候提示文件找不到,而抛出了异常,现在整理如下 1、相对路径的获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的Java项目还是web项目) String...relativelyPath=System.getProperty(“user.dir”); 上述相对路径中,java项目中的文件是相对于项目的根目录 web项目中的文件路径视不同的web服务器不同而不同...(test.txt文件的路径为项目名\src\test.txt,类Test1所在包的第一级目录位于src目录下) 3、web项目根目录的获得(发布之后) (1)从servlet

    5.6K20

    获取jar包内部的资源文件

    通常获取一个资源文件很简单,问题是对于jar包内的资源文件,可能会发生意外。...(src/bin)的资源文件,假如存在目录library和子文件a.txt,这里会打印出true; 现在把这段代码和资源文件打成myfile.jar并运行在一个myeclipse工程中,我们期望也是打印...也就是说,资源文件的使用类无法找到自己,jar包正常的功能将无法提供。这是一个常见的关于jar路径的问题。.../library 显而易见,获取jar包中的文件路径的格式已经变为*.jar!*(除了第一个),这种格式的路径,不能通过new File的方式找到文件。目前本人也没有找到其它处理方式,欢迎评论指点。...在这种情况下,如果想让jar读取到自己的资源文件,可以通过类加载器的getResourceAsStream方法来解决。

    2K20

    Java 中几种获取文件路径的方式

    前言 Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。 2. 文件的路径 文件的路径通常有 相对路径 与 绝对路径。...2.1 相对路径 以当前文件为基准进行一级级目录指向被引用的资源文件。在 Java 代码中以当前运行的代码所在的位置为参照位置,只要被引用的文件相对于引用的文件的位置不变就可以被读取到。...2.2 绝对路径 文件在文件系统中真正存在的路径,是指从硬盘的根目录(Windows为盘符)开始,进行一级级目录指向文件(从根目录一层层读写)。...Java 中通过java.io.File 来进行文件操作。并且提供了以下三个方法来获取文件的路径。 3.1 getPath 该方法返回文件抽象路径名的字符串形式。...因为速记符的存在,一个文件在文件系统中的 绝对路径 可以有很多个。 3.3 getCanonicalPath 速记符 不被解析有时候是很痛苦的事,我们可能需要知道具体的路径。

    15.1K20

    类加载器获取文件路径相关

    类加载器获取配置文件路径的小细节!...前言  简单的记录一下我对类加载器使用过程中遇到的问题,以及解决方法  我们利用类加载器获取配置文件路径是这样的 //获取src路径下的文件方式-->ClassLoader 类加载器 ClassLoader...,这段代码对应的文件路径如下  这个时候的配置文件是在src下的  这里我们把它移动一下位置,代码不变  配置文件被我们移动到com.hcg.jdbc包下后,代码不变,再运行会报错 Could not...initialize class xxx  接着我们稍微加点东西  可以看到,又正常了,不会报错了 总结 以上试验说明了类加载器的getResource()方法是从src目录下查找的,如果你要找的文件在其它的二级目录...,需要带上相应的路径才能查找成功 本篇文章采用 署名 4.0 国际 (CC BY 4.0) 许可协议进行许可。

    2.1K20

    Spring Boot -- 如何获取已加载的JAR文件流

    对于已加载的类,可以通过其对应的Class类的getProtectionDomain()方法获取到对应的文件信息,以获取commons-lang3jar包为例,如清单1所示。...,返回值是一个具体的文件路径,原因也很简单,因为Tomcat在启动一个webapp时会将对应的war解压,然后针对解压后的路径使用一个单独的类加载器进行加载。...此时获取对应的jar,输出如清单5所示,可以看到与前面几种不同,此时路径为jar嵌套形式,暂且定义为jar in jar。...对于非jar in jar形式,其获取到的目录是一个真是的物理文件路径,因此可以直接使用File读取,从而拿到文件流,这里不重点关注。...文章标题: Spring Boot -- 如何获取已加载的JAR文件流 文章链接: https://mrdear.cn/2019/03/19/framework/spring/在jar中获取jar文件流

    6.1K10
    领券