【发布时间】:2020-09-21 11:01:10
【问题描述】:
我在 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
【问题讨论】:
-
您需要从 CLASSPATH 而不是从文件系统中获取它们。看stackoverflow.com/questions/20451386/java-jar-cant-find-file
-
是的,它实际上是从类路径中获取的 @Michal
-
您能告诉我们用于读取这些资源的代码吗?此外,您还可以显示错误产生的确切堆栈跟踪吗?从 JDK 9 JavaDoc 开始,ClassLoader.getResourceAsStream() 实际上不会抛出 IOException。
-
我当然要添加它。奇怪的是代码之前在 WebSphere 服务器上运行。
-
@Michal 我已经在帖子中添加了。