我想在应用中获取当前的应用路径。
Path currentRelativePath = Paths.get("");
String s = currentRelativePath.toAbsolutePath().toString();
System.out.println("Current config file path is: " + s);
看起来效果很好,但是当我使用下面的时候。
> pwd
> /usr/local/
> java -jar app/getapppath.jar // executed app inside app folder
> Current config file path is : /usr/local // I want /usr/local/app
我可以在“应用程序”之后执行我的应用程序,但我想从根本上解决它。对此有何想法?
答案 0 :(得分:0)
您可以使用classloader获取该信息。这是一个例子,您可以根据自己的需要采用:
package test;
import java.net.URL;
public class a {
public static void main(String[] args) {
URL u = ClassLoader.getSystemResource("test/a.class");
System.out.println(u);
}
}
就我而言,它的作用如下:
$ cd /tmp
$ java -cp /home/me a
file:/home/me/a.class
$