【问题标题】:getClassLoader().getResourceAsStream(resource) return null in java 11getClassLoader().getResourceAsStream(resource) 在 java 11 中返回 null
【发布时间】:2021-04-08 06:26:36
【问题描述】:

我正在将 Spring Boot Java 项目从 openshift-jdk-8 迁移到 openshift-jdk-11。在 java-11 中,当项目在 openshift 云环境中部署为 docker 映像时,始终返回 null。在 Windows/本地环境中运行时,相同的代码运行良好。

getClassLoader().getResourceAsStream("mapper/myfile.xml")

从 bean-io 依赖加载文件

implementation("org.beanio:beanio:2.1.0")

我在这个 jar 的下面位置有文件。

BOOT-INF
 --classes
    --mapper/myfile.xml

遇到错误

   2021-03-10T10:39:27.555-05:00,severity=ERROR,thread=ForkJoinPool-10-worker-3,
org.beanio.BeanIOConfigurationException: BeanIO mapping file 'mapper/myfile.xml' not found on classpath
    at org.beanio.StreamFactory.loadResource(StreamFactory.java:213) ~[beanio-2.1.0.jar!/:2.1.0]
    at org.beanio.StreamFactory.loadResource(StreamFactory.java:198) ~[beanio-2.1.0.jar!/:2.1.0]
    at com.payment.ene.xerox.domain.SortIndexHandler.<init>(SortIndexHandler.java:51) ~[gen-copy-dmz.120.jar!/:?]
    at com.payment.ene.xerox.domain.exstream.PrintFlowOrchestratorImpl.lambda$printPrep$0(CopyFlowOrchestratorImpl.java:100) ~[gen-copy-dmz.120.jar!/:?]
    at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1448) [?:?]
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) [?:?]
    at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) [?:?]
    at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) [?:?]
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) [?:?]
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) [?:?]

任何解决此问题的建议

【问题讨论】:

  • 在环境中进行两个根本性的更改是没有帮助的,即“windows/local”与“openshift cloud 中的 docker 映像”和“java 8”与“java 11”。您当然可以在本地 Windows 环境中使用 java 11 和 java 8 测试代码,以确定问题是否与 java 版本有关。

标签: java java-8 openshift java-11


【解决方案1】:

你可以试试 java.nio:

new String(Files.readAllBytes(Paths.get(absoluteFilePath)));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    • 2021-01-09
    • 2017-08-12
    • 2010-10-12
    • 1970-01-01
    • 2015-02-19
    相关资源
    最近更新 更多