是否可以从 main 中获取包含我的 main 函数的 .class 文件的路径?
最佳答案
URL main = Main.class.getResource("Main.class");
if (!"file".equalsIgnoreCase(main.getProtocol()))
throw new IllegalStateException("Main class is not stored in a file.");
File path = new File(main.getPath());
请注意,大多数类文件都被组装到 JAR 文件中,因此这在所有情况下都不起作用(因此 IllegalStateException
)。但是,您可以使用此技术找到包含类的 JAR,并且可以通过调用 getResourceAsStream()
代替 getResource()< 来获取类文件的内容
,无论该类是在文件系统上还是在 JAR 中,它都可以工作。
关于java - 获取包含 main 的 .class 文件的目录路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/778187/