JAvaでプロジェクトパスを取得する方法、staticメソッドでプロジェクトパスを取得する方法

937 ワード

まずjavaでプロジェクトパスを取得する一般的な方法を紹介します:(個人の必要に応じて追加するかどうかを見ます:.substring(1)最初の文字"/")を削除します)
 (1):this.getClass().getResource("xxx.xml").getPath();

 (2):file.getCanonicalPath();

 (3):this.getClass().getClassLoader();

 (4):System.getProperty("user.dir");

 (5):System.getProperty("java.class.path");

 (6):Thread.currentThread().getContentClassLoader();

 (7):request.getSession().getServletContext();

ただし、staticメソッドではthisは使用できません.
  .class.getClass().getResource("/").getPath().substring(1);

この方法では、コンパイルを実行するとポインタ異常が空になるため、staticメソッドで次の方法でパスを取得できます.
public static void test() throws Exception {
		
		String xmlfilePath =new Object() {
	        public String getPath() {
	            return this.getClass().getResource("haarcascade_frontalface_alt.xml").getPath();
	        }
		}.getPath().substring(1);
}