Java current jar name

Java – Получить имя или путь к запущенному файлу JAR

В Java мы можем использовать “getClass().getprotectiondomain().getcodesource().getLocation().Touri().getPath()”, чтобы получить путь к запущенному файлу JAR.

В Java мы можем использовать следующие фрагменты кода, чтобы получить путь к запущенному файлу JAR.

// static String jarPath = ClassName.class .getProtectionDomain() .getCodeSource() .getLocation() .toURI() .getPath(); // non-static String jarPath = getClass() .getProtectionDomain() .getCodeSource() .getLocation() .toURI() .getPath();
/home/mkyong/projects/core-java/java-io/target/java-io.jar

1. Получите путь бегущей БАНКИ

1.1 Создайте исполняемый файл JAR.

 org.apache.maven.plugins maven-jar-plugin 3.2.0   true com.mkyong.io.howto.resources.TestApp     

1.2 Запустите приведенный ниже код, чтобы получить имя или путь к запущенному файлу JAR.

package com.mkyong.io.howto.resources; import java.net.URISyntaxException; public class TestApp < public static void main(String[] args) < TestApp obj = new TestApp(); try < // Get path of the JAR file String jarPath = TestApp.class .getProtectionDomain() .getCodeSource() .getLocation() .toURI() .getPath(); System.out.println("JAR Path : " + jarPath); // Get name of the JAR file String jarName = jarPath.substring(jarPath.lastIndexOf("/") + 1); System.out.printf("JAR Name: " + jarName); >catch (URISyntaxException e) < e.printStackTrace(); >> >
$ mvn clean package $ java -jar target/java-io.jar JAR Path : /home/mkyong/projects/core-java/java-io/target/java-io.jar JAR Name: java-io.jar

2. Тури()?

Если имя файла или путь к файлу содержат специальные символы, например, % , путь .getLocation.getPath () будет кодировать специальные символы.

try < // return raw, no encode String jarPath = TestApp.class .getProtectionDomain() .getCodeSource() .getLocation() .toURI() .getPath(); System.out.println("JAR Path : " + jarPath); // url encoded String jarPath2 = TestApp.class .getProtectionDomain() .getCodeSource() .getLocation() //.toURI .getPath(); System.out.println("JAR Path 2 : " + jarPath2); >catch (URISyntaxException e)

$ java -jar java-io%test.jar JAR Path : /home/mkyong/projects/core-java/java-io/target/java-io%test.jar JAR Path 2 : /home/mkyong/projects/core-java/java-io/target/java-io%25test.jar

Скачать Исходный Код

Рекомендации

Источник

Читайте также:  Css ruby on rails
Оцените статью