Java 我正在从事EclipseWeb动态项目。使用SpringMVC。出于某种原因,我必须使用
我正在使用eclipse的web动态项目。我正在使用一个库,它将xml文件作为配置的输入。它使用以下代码加载xml文件Java 我正在从事EclipseWeb动态项目。使用SpringMVC。出于某种原因,我必须使用,java,eclipse,servlets,file-io,web-applications,Java,Eclipse,Servlets,File Io,Web Applications,我正在使用eclipse的web动态项目。我正在使用一个库,它将xml文件作为配置的输入。它使用以下代码加载xml文件 URL url = Resource.class.getClassLoader().getResource(filename); 我无法更改库中的代码。我需要将此文件名作为字符串传递给它。我应该将文件(fastAlgo.xml)保存在哪里,如何以字符串形式给出路径?我的项目结构如下- Project - -deployment descriptor -Java res
URL url = Resource.class.getClassLoader().getResource(filename);
我无法更改库中的代码。我需要将此文件名作为字符串传递给它。我应该将文件(fastAlgo.xml)保存在哪里,如何以字符串形式给出路径?我的项目结构如下-
Project -
-deployment descriptor
-Java resources
-target
-WebContent
-META-INF
-WEB-INF
-fastalgo.xml
你试过WEB-INF/classes还是WEB-INF/lib?我认为这些都在web应用程序的默认类路径下。如果您想将其作为资源加载,它需要位于类路径上。如果要将其作为web应用程序内部的文件加载,则需要使用
getRealPath
。如果要将其作为web应用程序外部的文件加载,则只需提供一个绝对路径名。@DaveNewton我需要将其作为内部文件加载,即只需为内部算法加载一次。此文件也是静态的,在项目运行时不会更改。但我不能使用getResource以外的任何东西,因为我不能在库中进行更改。然后将文件放在类路径上,就像我说的那样。@DaveNewton它起作用了。谢谢。你能解释一下为什么会这样吗?