Java 使用ClassLoader.getResourceAsStream加载资源在特定计算机中不起作用
我有一个供应商应用程序,它部署在Windows2008服务器上的Tomcat6中。该应用程序在该服务器上不工作,但当我将Tomcat复制到另一台运行Windows7的机器上时,它正在工作 当我分析日志时,ClassLoader.getResourceAsStream在Windows 2008服务器中返回空值,但在Windows 7计算机中不返回空值。我检查了tomcat webapp文件夹完全控制赋予运行tomcat服务器的用户的windows文件权限。这可能是什么原因呢 PS:这是一个供应商应用程序,所以我无法控制代码 当我分析日志时,Java 使用ClassLoader.getResourceAsStream加载资源在特定计算机中不起作用,java,jakarta-ee,tomcat,classloader,Java,Jakarta Ee,Tomcat,Classloader,我有一个供应商应用程序,它部署在Windows2008服务器上的Tomcat6中。该应用程序在该服务器上不工作,但当我将Tomcat复制到另一台运行Windows7的机器上时,它正在工作 当我分析日志时,ClassLoader.getResourceAsStream在Windows 2008服务器中返回空值,但在Windows 7计算机中不返回空值。我检查了tomcat webapp文件夹完全控制赋予运行tomcat服务器的用户的windows文件权限。这可能是什么原因呢 PS:这是一个供应商应
ClassLoader.getResourceAsStream
在Windows 2008 server bot中返回null
,而不是在Windows 7计算机中
这是在找不到命名资源的情况下记录的行为
我检查了tomcat webapp文件夹完全控制赋予运行tomcat服务器的用户的windows文件权限。这可能是什么原因呢
这是一个棘手的问题。以下是一些需要检查的内容:
- 与“getResourceAsStream”一起使用的路径是否正确
- 资源路径名是否包含可能导致Windows路径名查找行为异常的非ASCII(或特殊)字符
- 自上次更改WAR文件以来,是否已成功重新部署webapp(即是否已停止和启动)
- 您是否已将Tomcat配置为不展开WAR文件?如果是这样,那么问题可能是资源不再在WAR文件中。。。尽管出现在(先前扩展的)webapp目录中
- 这是“同形文字”的问题吗;i、 e.不同但在显示时看起来相同的Unicode字符
- 是否可能是病毒检查程序(或类似程序)正在锁定或删除该文件