Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从wildfly+;JAVA_Java_Jsp_Java 8_Jboss_Wildfly - Fatal编程技术网

从wildfly+;JAVA

从wildfly+;JAVA,java,jsp,java-8,jboss,wildfly,Java,Jsp,Java 8,Jboss,Wildfly,我有一个简单的jsp应用程序。 我正在尝试加载一个xml文件,它位于src/xml文件夹中。我正在使用下面的代码,但获取FileNotFound异常。请让我知道如何解决这个问题 Public static void load() { Document doc = parseDoc(Thread.currentThread().getContextClassLoader().getResource("/xml/test.xml").getFile()) } 这将引发FileN

我有一个简单的jsp应用程序。 我正在尝试加载一个xml文件,它位于src/xml文件夹中。我正在使用下面的代码,但获取FileNotFound异常。请让我知道如何解决这个问题

Public static void load() {
Document doc = parseDoc(Thread.currentThread().getContextClassLoader().getResource("/xml/test.xml").getFile())
}
这将引发FileNotFound异常,因为路径显示为
/D:/Wildfly/bin/content/aap.war/web-inf/classes/xml/test.xml

尝试了几种不同的方法,但都不起作用。请帮助我

一般注意事项:

请写
public
,不要写
public
。“src”不是一个很好的文件夹来加载某些内容。“src”通常包含您的源代码(也称为*.java文件)——在文件编译并放入服务器后,您无法访问这些源代码

我的建议是,将XML文件放入jar文件中。因此,请压缩xml文件夹并将其重命名为例如“xml.jar”。我假设有一个文件夹xml/test.xml。这个jar文件是作为.ear或.war文件的一部分添加到类路径的。部署后,您可以通过以下方式访问它:

Thread.currentThread().getContextClassLoader().getResourceAsStream(“xml/text.xml”)

也不要直接读取,而是检查是否为空:

InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("xml/text.xml);
if (stream == null) {
  throw new IllegalStateException("Resource 'xml/text.xml' not found on classpath");
}
//continue
一般说明:

请写
public
,不要写
public
。“src”不是一个很好的文件夹来加载某些内容。“src”通常包含您的源代码(也称为*.java文件)——在文件编译并放入服务器后,您无法访问这些源代码

我的建议是,将XML文件放入jar文件中。因此,请压缩xml文件夹并将其重命名为例如“xml.jar”。我假设有一个文件夹xml/test.xml。这个jar文件是作为.ear或.war文件的一部分添加到类路径的。部署后,您可以通过以下方式访问它:

Thread.currentThread().getContextClassLoader().getResourceAsStream(“xml/text.xml”)

也不要直接读取,而是检查是否为空:

InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("xml/text.xml);
if (stream == null) {
  throw new IllegalStateException("Resource 'xml/text.xml' not found on classpath");
}
//continue
getResource(…)
返回一个
URL
。无法保证这是默认文件系统中的文件。最值得注意的是,当代码部署在jar文件中时,情况并非如此。检查是否有一个版本的
parseDoc
接受
URL
InputStream
(您可以在
URL
上调用
openStream()
,或者首先使用
getresourceastream(…)
getResource(…)
返回一个
URL
。无法保证这是默认文件系统中的文件。最值得注意的是,当代码部署在jar文件中时,它不会出现。请检查是否有一个版本的
parseDoc
接受
URL
InputStream
(您可以调用
openStream()
上的
URL
或首先使用
getResourceAsStream(…)