我正在從位於target/[projectname]/WEB-INF/classes/
的(maven)生成的文件中讀取信息。 Eclipse沒有向我顯示路徑,但是,我無法在WEB-INF
中創建名爲classes
的新文件夾(因爲已有一個文件夾)。系統找不到指定的路徑
我可以通過命令行找到該文件夾和文件,但是,我無法爲該文件創建一個FileInputStream
。
但是,我可以訪問位於target
的其他文件,例如,在每次構建期間已生成的target/maven-archiver/pom.properties
。唯一的區別是我可以在Eclipse中看到該文件。
該項目是GWT之一,並用maven構建。我沒有看到Java無法找到路徑的任何原因。
我正在訪問的文件是version.properties
。我可以看到它在瀏覽器(項目名稱被塗黑):
我試着通過
private static final String PATH = "target/[projectname]/WEB_INF/classes/version.properties";
public static String getVersion() {
String version;
Properties prop = new Properties();
File resource = new File(PATH);
try {
prop.load(new FileInputStream(resource));
version = prop.getProperty("build.time");
} catch (IOException e) {
e.printStackTrace();
version = "01.01.2016 00:00";
}
return version;
}
的例外,我去打開該文件是
java.io.FileNotFoundException: target\[projectname]\WEB_INF\classes\version.properties (Das System kann den angegebenen Pfad nicht finden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at [projectname].utils.VersionUtils.getBuildTime(VersionUtils.java:31)
[...]
爲什麼你需要從你的代碼訪問目標目錄? – Ferrybig
@Ferrybig由於該文件是自動生成的,因此只能在此處生成的輸出中使用(包含使用'$ {propertyName}'指定的maven屬性)。 – LordAnomander
@LordAnomander你可能會更成功地使用getClass()。getResource(「\ version.properties」),因爲你的代碼似乎被編譯成某種容器,但我不確定格式 – Ferrybig