工程結構:

有兩種方式:
Java代碼中的類,要獲取Resource資源文件目錄下文件
絕對路徑尋址
String s1 = this.getClass().getResource("/test.pxml").getPath();
注意這個 / 址的是根目錄,用絕對路徑,可能會出現的問題是,你的程序在windows上可以用,但是在linux不能用,原因在於,你這根目錄在windows環境址你的src目錄
放到linux環境,就可能執行你linux的根目錄了,會導致 file not exist
針對上面的問題,可以考慮相對路徑尋址:
例子:
job.setJarByClass(Runner.class); String jarPath = this.getClass().getClassLoader().getResource("hadoop.jar").getPath(); job.setJar(jarPath);
項目需要在 resource目錄下面放一個hadoop 包, 這包遠程提交到集群上運行,
上面就采用了相對路徑
根據該路徑,可以找到對應的hadoop.jar文件。
