Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.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
Java Tomcat 9指定配置文件夹路径_Java_Tomcat - Fatal编程技术网

Java Tomcat 9指定配置文件夹路径

Java Tomcat 9指定配置文件夹路径,java,tomcat,Java,Tomcat,我在Tomcat 9中运行一个需要读取几个.config文件的应用程序,但是我得到了一个java.io.IOException 这些.config文件位于WebContent文件夹中 如何让Tomcat阅读此路径? 是否可以与项目的IntelliJ设置相关 以下是加载配置文件的方式: ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); InputStream is = classLoader.ge

我在Tomcat 9中运行一个需要读取几个.config文件的应用程序,但是我得到了一个
java.io.IOException

这些.config文件位于
WebContent
文件夹中

如何让Tomcat阅读此路径? 是否可以与项目的IntelliJ设置相关

以下是加载配置文件的方式:

 ClassLoader classLoader = Thread.currentThread().getContextClassLoader();

InputStream is = classLoader.getResourceAsStream(this.configFile);
this.configFile的值为:cnp filter.config

ClassLoader classLoader = getClass().getClassLoader();
InputStream input = classLoader.getResourceAsStream("your absolute path ");

这可能会有帮助。

类路径资源需要位于
WEB-INF/classes
下。对于maven项目,请将配置文件放在
src/main/resources


或者,直接在
WEB-INF
下的资源可以通过
ServletContext#getResourceAsStream(字符串路径)
访问

您需要从类路径而不是从文件系统获取它们。看,是的,它是从classpath@michal获取的。你能给我们看一下用来读取这些资源的代码吗?此外,您还可以显示错误产生的确切堆栈跟踪吗?从JDK 9 JavaDoc开始,ClassLoader.getResourceAsStream()实际上不会抛出IOException。我确实在添加它。奇怪的是,该代码以前在WebSphere服务器上运行。@Michal我在文章中添加了它。是的,我使用的是相同的,但仍然存在问题。请尝试给出完整路径。配置文件位于Webcontent文件夹中,我应该放在哪里?
src/main/resources
,前提是它是maven项目?如果不是maven项目,则为Java类的默认包。我没有src/main/resources,但有projectName/resources/,该怎么办?