我需要创建一个批处理文件,以便在 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/