我需要创建一个在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();
感谢。
答案 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
在我的项目中