我正在从位于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