如何获取当前 JAR 包的存放位置?

这篇具有很好参考价值的文章主要介绍了如何获取当前 JAR 包的存放位置?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

代码中如何获取打包后的jar包存放的位置?

要获取当前运行的 JAR 包所存放的位置,可以使用 ProtectionDomain 和 CodeSource 类。

代码:

import java.net.URL;
import java.security.CodeSource;
import java.security.ProtectionDomain;

public class Main {
    public static void main(String[] args) {
        // 获取当前类的保护域
        ProtectionDomain protectionDomain = Main.class.getProtectionDomain();

        // 获取代码源
        CodeSource codeSource = protectionDomain.getCodeSource();

        // 获取代码源的位置
        URL location = codeSource.getLocation();

        // 获取 JAR 包的路径
        String jarPath = location.getPath();
        System.out.println("JAR Path: " + jarPath);
    }
}

注意:这种方法适用于独立的可执行 JAR 包。如果你的代码是作为依赖项运行在其他项目或容器中,可能会得到不同的结果。在这种情况下,获取 JAR 包位置的方法可能会有所不同。文章来源地址https://www.toymoban.com/news/detail-675374.html

到了这里,关于如何获取当前 JAR 包的存放位置?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java-jar和war包的区别

    1、war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块;jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的。 2、war包是做好一个web应用后,通常是网站,打成包部署到容器中;jar包通常是开发时要引用通用类,打成包便于存放管理。

    2024年02月13日
    浏览(47)
  • Java项目中jar war pom包的区别

    1、pom:用在父级工程或聚合工程中,用来做jar包的版本控制,必须指明这个聚合工程的打包方式为pom。 project ...   modelVersion4.0.0/modelVersion   groupIdcom.wong.tech/groupId   artifactIdmyproject/artifactId   packagingpom/packaging   version1.0.0/version   namemyproject/name   urlhttp://maven.apache.org/url   !-

    2024年02月10日
    浏览(42)
  • jar包的精细化运营,Java模块化简介

    图:模块化手机概念 官方对模块的定义为:一个被命名的,代码和数据的自描述集合。( the module, which is a named, self-describing collection of code and data)。 早在Java7的时候就被提出,但由于其复杂性,不断跳票,直到Java9才有,那么Java模块化到底是什么,在实际开发中又有什么用

    2024年02月06日
    浏览(38)
  • 使用maven打jar包时,如何只把依赖的其它jar中的类打进jar包,没有依赖的其它jar包的类文件不打进来?

    使用Maven打包时,默认情况下,所有依赖的jar包都会被打包到生成的jar文件中。 如果只想将依赖的其他jar中的类文件打进来,而不包含其它jar包,可以使用Maven的 maven-shade-plugin 插件进行配置。 以下是一个示例配置,将只打包依赖的其他jar中的类文件: 1. 在pom.xml文件中添加

    2024年02月15日
    浏览(37)
  • Linux 下通过 java 命令启动 jar 包的几种常见方式

    Linux 下通过 java 命令启动 jar 包的几种常见方式 一、后台启动jar包命令 方法一:直接启动 jar 包服务 方法二:后台启动 jar 包服务 方法三:后台不挂断启动 方式四:指定日志输出的启动 方式五:指定配置文件启动 方式六:指定配置文件,使用系统默认的log配置,不另行指定

    2024年02月13日
    浏览(41)
  • java运行以jar包的形式运行和tomcat运行的区别和联系?

    Java 运行以 JAR 包形式和 Tomcat 运行之间存在一些区别和联系: 区别: 部署方式:JAR 包形式的 Java 应用可以作为独立的进程运行,通过命令行或脚本启动。而 Tomcat 是一个 Web 服务器和 Servlet 容器,需要将应用程序打包成 WAR 文件并部署到 Tomcat 中。 架构:JAR 包形式的应用通常

    2024年02月09日
    浏览(40)
  • JDBC驱动包下载教程mysql-connector-java.jar包的下载教程

    java代码使用JDBC连接数据库少不了连接工具,数据库的连接时需要jar包,今天讲一下mysql-connector-java.jar怎么下载。 第一步,打开mysql的官网:https://www.mysql.com/ 第二步,选择downloads。 第三步,点击下方的Mysql Community Downloads。 然后单击选择 Connector/J 选项: 第四步,在此处下拉

    2024年02月11日
    浏览(43)
  • SpringBoot 打成jar包后如何获取jar包Resouces下的文件

    获取resouces下的文件使用以下代码即可读取,如果需要变成file传入其他的方法中,需要创建临时文件将输入流文件 复制到 临时文件中,并传入相关方法,最后删除临时文件即可。不能通过ClassPathResouce对象直接获取 文件File

    2024年02月19日
    浏览(38)
  • 关于jar包的命令:运行jar包时指定端口、直接修改jar包里的配置文件

    如下:指定端口为8081,不管jar包里面之前是指定了什么端口号,最终访问服务时还是以8081这个端口进行访问 vim进入jar包后,会有类似如下的的内容 在定位到具体某行(文件名)后,该文件会有提示,直接回车进入编辑模式,即可编辑了

    2024年02月12日
    浏览(50)
  • 【java】获取鼠标当前位置代码

            最近在研究自动化软件来清体力,其中就遇到需要鼠标位置的一个问题,于是就运用java实现了这个功能。         代码非常简单,核心功能就是获取鼠标的X,Y坐标,然后保存到文件夹中(比较适合用来学习java练手)。 使用流程:文件就三个 ①Game.jar:java代码

    2024年02月15日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包