当前位置: 首页 > 知识库问答 >
问题:

Liberty Server - ClassLoader.getSystemResource 返回空值

百里成仁
2023-03-14

开发了一个使用第三方jar的rest服务。查看他们的代码,我发现他们正在使用ClassLoader.getSystemResource(“log4j.properties”)来检索数据。这段代码返回null,从今以后,我总是得到null指针异常。如果我在webphere中部署相同的代码8.5.5.7并设置服务器类路径,它可以正常工作。由于我在本地机器中使用Liberty,因此无法检索路径。

我还尝试在服务器中设置类加载器。xml,但没有用。

<library id="config">
  <folder dir="/properties/dev/" includes="*.properties" scanInterval="5s"/>
</library>

<enterpriseApplication id="AbcEAR"location="AbcEAR.ear" name="AbcEAR">
  <classloader privateLibraryRef="config"/>
</enterpriseApplication>

共有1个答案

常甫
2023-03-14

使用<code>ClassLoader。getSystemResource()将使用系统类加载器,它将只能从JDK和类路径上的任何内容中看到内容。由于Liberty不使用传统的类路径,而是使用OSGi,因此从应用程序的角度来看,系统加载器在Liberty中用处不大。

相反,使用线程上下文类加载器中的< code > class loader . get resource(),这将考虑Liberty类加载器。

 类似资料:
  • 我的预览在方法中调用时返回null。测试类确实扩展了,因为它被保存在

  • 我无法理解为什么findFragmentByTag()在我的代码中返回null。我已经在片段onCreate()上设置了RetainInstance(true),并且正在使用getSupportFragmentManager()。findFragmentByTag(),因为它是SherlockFragmentActivity。 这是我的活动代码: } 这是我的片段代码:

  • 下面是我的控制器代码:- 以下是我的服务代码:- 下面是我的存储库代码:-

  • 当我在android Studio中集成OpenCV进行眼睛检测时。集成后消息打印Opencv安装成功消息生成,但出现错误。 无法从加载器加载detection_based_trackerdalvik.system.PathClassLoader[DexPathList[[zip file"/data/app/com.example.admin.lanskart-2.apk],nativeLibr

  • 这一行是: 我在和上尝试了和,但仍然给出相同的错误

  • 问题内容: 我想获取执行.py文件的当前目录的路径。 例如,一个带有代码的简单文件: 输出奇怪的是: 我期待从和获得相同的结果。 给定,为什么 返回空? 问题答案: 因为不成立。我们宁愿有 双方并只拆分通过文件名成组件,而不考虑当前目录。如果您还想考虑当前目录,则必须明确地考虑。 要获取绝对路径的目录名,请使用