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

时间:2014-01-08 17:58:39

标签: 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();

感谢。

1 个答案:

答案 0 :(得分:3)

其中一种方法是获取类代码源的URL,例如

    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

在我的项目中