首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java:如何在运行JAR文件时获取文件的路径

在Java中,可以使用以下代码来获取运行JAR文件时的路径:

代码语言:txt
复制
String jarPath = MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();

上述代码中,MyClass是你的Java类名,可以根据实际情况进行替换。

这段代码的解释如下:

  1. MyClass.class获取到MyClass类的Class对象。
  2. getProtectionDomain()获取到该Class对象的保护域。
  3. getCodeSource()获取到保护域的代码源。
  4. getLocation()获取到代码源的位置。
  5. toURI()将位置转换为URI对象。
  6. getPath()获取URI对象的路径。

通过以上代码,你可以获取到运行JAR文件时的路径。这在一些需要读取JAR文件内资源或者需要获取JAR文件所在目录的场景中非常有用。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供弹性计算能力,满足各种业务需求。产品介绍链接
  • 腾讯云对象存储(COS):提供安全、稳定、低成本的云端存储服务。产品介绍链接
  • 腾讯云容器服务(TKE):提供高度可扩展的容器化应用管理平台。产品介绍链接
  • 腾讯云人工智能(AI):提供丰富的人工智能服务和解决方案。产品介绍链接
  • 腾讯云数据库(TencentDB):提供多种类型的数据库服务,包括关系型数据库、NoSQL数据库等。产品介绍链接
  • 腾讯云区块链服务(BCS):提供一站式区块链解决方案,帮助企业快速搭建和部署区块链应用。产品介绍链接

以上是腾讯云的一些相关产品,可以根据具体需求选择适合的产品来支持云计算和开发工作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

获取当前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

7K20

如何使用JavaJAR文件

今天有个小伙伴私信我说如何使用JavaJar文件?今天将给大家介绍一下Javajar文件Java世界中,如果有任何大家都熟悉文件格式,那就是JAR文件。...一些操作系统允许它在单击时运行;其他人使用简单命令行调用: $ java -jar app.jar 如何Java中创建JAR文件 Java开发工具包(JDK)提供了一个.jar工具,用于将Java...如何查看JAR内容 现在,创建JAR文件之后,我们可能需要查看JAR文件内容。...如果要将应用程序绑定到JAR文件中,则该文件必须包含Java虚拟机(JVM)运行程序入口点。 入口点指的是包含主方法类。用于下载JAR文件包含文件列表及其类路径信息。...如何更新JAR文件 开发人员可以使用以下命令更新或向现有JAR文件添加新文件: $ jar uf app.jar d.class 将新文件添加到现有存档中应小心,因为存档中具有相同名称任何文件都将被自动覆盖

2.1K40

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

Java文件路径获取 几种获取方式 getResourceAsStream ()返回是inputstream getResource()返回:URL Class.getResource(“”)...取资源,而另一个用于取相对于classpath资源,用是绝对路径 使用Class.getResourceAsStream ,资源路径有两种方式,一种以/开头,则这样路径是指定绝对路径,如果不以...使用ClassLoader.getResourceAsStream路径直接使用相对于classpath绝对路径。...relativelyPath=System.getProperty(“user.dir”); 上述相对路径中,java项目中文件是相对于项目的根目录 web项目中文件路径视不同web服务器不同而不同...(tomcat是相对于tomcat安装目录\bin) 2、类加载目录获得(即当运行时某一类获得其装载目录) 1)通用方法一(不论是一般java项目还是web项目,先定位到能看到包路径第一级目录

4.3K20

编译正常运行,打jar运行报错(找不到文件路径

sql文件文件输入流读入时,编译时运行正常,但打成jar包后运行jar包报错: Exception in thread “main” java.lang.RuntimeException: java.io.FileNotFoundException...---- 原因分析: 先上初始代码: InputStream in = new FileInputStream("src/main/resources/init.sql"); 我们获取文件输入流时候大部分都会选择使用相对路径来读入一个文件...(一般不使用绝对路径,可移植性太差) 这个时候,正常去项目下编译运行时没有任何问题,但我们把这个项目打包成可执行jar时候,终端运行这个jar包,就会报错,系统找不到指定这个文件路径: 原因就在于此时打包后...jar包默认是target文件夹下,而我们代码默认工作目录是项目的目录,所以一旦jar包所在目录运行这个jar包,相对路径就不对了,就会报路径错误。...注:已有类就是项目文件夹下任何一个类,比如我src/main/java下写了一个叫做DBUtil类 因为项目中文件打包编译之后都会放在 target 文件夹下 classes 文件夹中(包括资源文件

2.9K30

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

前言 Java 开发中我们经常要获取文件路径,比如读取配置文件等等。今天我们就关于文件路径如何读取文件简单地探讨一下。 2. 文件路径 文件路径通常有 相对路径 与 绝对路径。...2.1 相对路径 以当前文件为基准进行一级级目录指向被引用资源文件 Java 代码中以当前运行代码所在位置为参照位置,只要被引用文件相对于引用文件位置不变就可以被读取到。...2.2 绝对路径 文件文件系统中真正存在路径,是指从硬盘根目录(Windows为盘符)开始,进行一级级目录指向文件(从根目录一层层读写)。...Java 中通过java.io.File 来进行文件操作。并且提供了以下三个方法来获取文件路径。 3.1 getPath 该方法返回文件抽象路径字符串形式。...这里是有大坑。**如果你文件 Java 工程内,路径是按照编译后路径计算。 File file = new File(".

11K20

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

本地IDE运行 IDEA中直接运行返回如下所示,很明显IDEA在运行时会把maven仓库中对应jar路径放入classpath下,运行起来后类加载器自动寻找对应jar,所以定位到了具体maven...3.7.jar 打包成jar运行 单纯打包为一个jarJava会把其中依赖第三方jar解压后一起放入到jar中,如下图所示,因此定位到是我最终打包为jar文件,而并非第三方jar文件。...,表示当前根架包位置,第二部分/BOOT-INF/lib/commons-lang3-3.7.jar!/所需要jar根架包中位置路径如何读取jar?...对于非jar in jar形式,其获取目录是一个真是的物理文件路径,因此可以直接使用File读取,从而拿到文件流,这里不重点关注。...文章标题: Spring Boot -- 如何获取已加载JAR文件流 文章链接: https://mrdear.cn/2019/03/19/framework/spring/jar获取jar文件

5.4K10

crmeb Java 项目打包可运行jar文件详细教程

前言 鉴于很多同学不知道怎么打包可运行jar文件,今天就给大家出一个详细教程,希望能帮助到大家 本地已经运行同学直接配置prod环境yml文件后直接mvn install 打包即可。...crmeb-service 公共业务 会打包到admin和front中 crmebiamge 素材包 线上部署需要上传到服务器,将路径配置到java 配置文件中 ✅打包成功 打包Jar文件成功 打包后在对应目录获取到...获取打包后jar文件 上传打包好两个jar文件到创建好站点根目录 上传jar到宝塔对应api站点 如下图,以admin服务为例 上传Crmeb-admin.jar ,启动jarshell,和初始化素材包...上传jar和shell脚本 注意: shell脚本执行时可能会出现格式不正确问题,可以本地修改好在bt面板中创建.sh文件直接粘贴进去就好。...点击start.sh文件修改路径,stop.sh 一般不需要重启直接执行start.sh文件,停止一般手动kill,如果需要stop.sh脚本同样配置目录即可。

1.1K10

获取jar包内部资源文件

通常获取一个资源文件很简单,问题是对于jar包内资源文件,可能会发生意外。...main方法它会读取当前根路径下(src/bin)资源文件,假如存在目录library和子文件a.txt,这里会打印出true; 现在把这段代码和资源文件打成myfile.jar运行在一个myeclipse...然而控制台打印false;将其引入到war工程tomcat中运行,依然打印false。 也就是说,资源文件使用类无法找到自己,jar包正常功能将无法提供。这是一个常见关于jar路径问题。.../library 显而易见,获取jar包中文件路径格式已经变为*.jar!*(除了第一个),这种格式路径,不能通过new File方式找到文件。目前本人也没有找到其它处理方式,欢迎评论指点。...,执行exists方法都会打印true。

1.6K20
领券