1

对于许多阅读本文的人来说,这是一个非常简单的问题,但对我来说却是全新的。这是我的日食的截图

在此处输入图像描述

当我运行这个程序时,我得到了java.io.FileNotFoundException: queries.xml (The system cannot find the file specified)尝试../../../queries.xml,但这也不起作用。我真的不明白什么时候使用../,因为这意味着在 dir 中后退 1 步,并且在某些情况下它有效,有人可以解释一下吗?另外我怎么能在这里引用querys.xml。谢谢

注意:我什至可以在 linux 机器上使用此代码

4

3 回答 3

2

我假设它正在将您的代码编译到buildorclasses文件夹中,然后从那里运行它...

您是否尝试过传统的 Java 方式来执行此操作:

def query = new XmlSlurper().parse( GroovySlurping.class.getResourceAsStream( '/queries.xml' ) )

假设构建步骤是将 xml 复制到构建文件夹中,我相信应该可以

虽然我不使用 Eclipse,所以不能 100% 确定......

于 2011-05-24T12:06:41.393 回答
1

尝试

file = new File("src/org/ars/groovy/queries.xml");

要检查 eclipse 的实际工作目录,您可以使用

File f = new File(".");
System.out.println(f.getAbsolutePath());
于 2011-05-24T12:06:08.033 回答
1

您可以尝试使用属性文件来存储 xml 文件的路径。

这样,您可以将 xml 文件放置在任何位置,并且只需更改属性文件。这不需要更改/重新编译代码。

这意味着您只需要硬编码属性文件的路径。

如果您不想硬编码属性文件的路径,则可以在启动期间将其作为参数传递到服务器设置文件中。(在 tomcat web.xml 中)。每个服务器都有一个等效的设置文件,您可以在其中指定属性文件的路径。

或者,如果您不想使用属性文件,您可以在同一文件中指定 xml 的路径。

此链接将向您展示从属性文件中读取的示例。
http://www.zparacha.com/how-to-read-properties-file-in-java/

于 2011-05-24T13:06:31.330 回答