java - 如何知道正在运行的 jar 的名称

标签 java jar filepath

我需要创建一个批处理文件,以便在 Windows 启动时运行我的 java jar。 为此,我需要知道我想要自动运行的 jar 的名称。 我假设用户可以更改 jar 的名称,因此在创建 bat 之前我想检查我的 jar 的名称是否已更改。

我可以用这段代码得到 jar 的绝对位置,但是我怎样才能得到它的名字呢?

    File f = new File(System.getProperty("java.class.path"));
    File dir = f.getAbsoluteFile().getParentFile();
    String path = dir.toString();

谢谢。

最佳答案

其中一种方式是获取类代码源的URL,eg

    URL r = JdbcTemplate.class.getProtectionDomain().getCodeSource().getLocation();
    System.out.println(r);

打印

file:/D:/.repository/org/springframework/spring-jdbc/3.2.4.RELEASE/spring-jdbc-3.2.4.RELEASE.jar

在我的项目中

关于java - 如何知道正在运行的 jar 的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21003086/

相关文章:

java - Java中如何查找可以处理特定数据的类?

java - 通用列表和通用数组

JAVA。一个打印骰子的 GUI

java - 无法创建新的远程 session 。 (应用程序错误)

Java小程序: How to tell the browser (Firefox) where to look for libraries (jars)

c# - 初学者帮助C#在文本框中显示文件路径

java - PowerMock 从@RunWith(PowerMockRunner.class) 注解中抛出异常

java - 在 Docker 容器上运行 JAR 时写入文件夹中的文件会导致 FileNotFoundException

r - 如何精确检查文件路径是否有非法字符?

javascript - 我无法使用动态路径名将文件路径中的图像附加到动态创建的 div 中