zoukankan      html  css  js  c++  java
  • 获取.jar文件运行时所处的路径

    在Windows控制台中运行.jar文件时的两种环境

    (1)控制台当前所在目录是.jar文件所在的目录

    (2)控制台当前所在目录不是.jar文件所在的目录

    我的期望:

    我希望在上述两种环境下均可以得到.jar文件所处的路径,且得到的路径是一样的

    方式一

    (1)建立一个简单的Java Project(PathTest1),代码如下:

    String path=System.getProperty("java.class.path");
    System.out.println(path);

    (2)将项目打包为Test1.jar文件,将其放在"F:work"目录下,在Windows控制台运行,查看运行情况

    可以发现两种环境下运行.jar文件得到的结果是一样的,均为.jar文件的完整路径

    方式二

    (1)建立一个简单的Java Project(PathTest2),代码如下:

    String path=Test2.class.getProtectionDomain().getCodeSource().getLocation().getPath();
    System.out.println(path);

    (2)将项目打包为Test2.jar文件,将其放在"F:work"目录下,在Windows控制台运行,查看运行情况

    可以发现两种环境下运行.jar文件得到的结果是一样的,也均为.jar文件的完整路径

    But,路径貌似有些不对劲啊,路径中的分割符不是Windows中的"",而是"/",这个该怎么处理呢???

    办法肯定是有的,在上述代码后面加上如下代码:

    if(path.endsWith(".jar")){
      path
    = path.substring(0, path.lastIndexOf("/") + 1); } File file = new File(path); path = file.getAbsolutePath();
    System.out.println(path);

    如此这般处理,再次打包运行,得到的结果即为该.jar文件的完整路径

  • 相关阅读:
    Splunk Fundamentals 2 – Lab Exercises
    Splunk Fundamentals 1 Lab Exercises
    python交换机自动化巡检
    nginx web服务器
    linux tips
    web服务器统计情况
    HTTP请求报文和响应报文
    python 之路 day 14 HTML CSS
    python 之路 13 ORM SQLAlchemy
    python 之路12 RabbitMQ Python 操作mysql
  • 原文地址:https://www.cnblogs.com/studyLog-share/p/4630285.html
Copyright © 2011-2022 走看看