java - 从已部署的 jar 访问 web-inf
问题描述
每当我尝试访问 WEB-INF/classes 文件夹时,我都会遇到问题。基本上,如果我在本地服务器上运行整个项目,它可以工作并找到给定的文件,但是当我在创建和部署所有 jar 文件后尝试访问同一个文件时,它会给我一个错误 - 文件没有存在
这是服务器上的当前路径:
file:/product/WebSphere85/AppServer/profiles/opntship_node_1/installedApps/opntship/xxxService.ear/lib/xxxServiceService.jar!/xxx.pdf(路径名中的文件或目录不存在。)
这是我本地服务器上的路径:
/C:/Users/foo42/IBM/rationalsdp/workspace/TpdPrintServiceService/target/classes/xxx.pdf
这就是我获取文件的方式:
getClass().getResource("/"+fullFileName);
fileToBytes(new File(filePath.getFile()));
我尝试了多种方式来访问该文件夹,但它仍然可以在本地工作,但不能在服务器上工作:(
知道如何解决此问题并访问 web-inf 文件夹吗?
提前致谢!
解决方案
我们无法读取存档(xxxService.ear 和 xxxServiceService.jar)中的条目,就像它是一个普通的旧文件一样。您可能想尝试一下Thread.currentThread().getContextClassLoader().getResourceAsStream(path)
。
推荐阅读
- python - 通过串行端口从 Velleman k8090 读取和写入数据,不适用于 Python 3
- python - 解析 .xml 文档
- visual-studio-code - 我的 VS CODE 和 Brave 浏览器显示模糊和白线,就像我附上的图片一样
- javascript - 如何使用鼠标滚动放大和缩小引导模式?
- gemfire - 如果 geode 有部分数据并且其他数据存在于外部数据源中,我如何从 apache geode 获取完整数据
- serenity-bdd - 在宁静的可执行动作中调用可重用/实用方法
- python - 如何在 Python 中将 UTC/扩展格式转换为日期时间
- python - 如何使用现代 gui 构建计费软件和发票等软件
- c# - Cosmos DB,如果我在使用 SkipToken 查询时更新某些项目会发生什么?
- schema - 我在产品中有多个图像。我只想在 Shopify 部分显示一张包含详细信息和价格的图片。我应该怎么办?