version.properties文件找不到IBM watson bot sdk

问题描述 投票:0回答:1

我正在使用IBM Watson对话开发聊天机器人。当我构建项目并运行时,它会在java-sdk / conversation的inputStream类的RequestUtils.java中提供null。但是当我从观念上运行它时,它是有效的。

 InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("version.properties");

我注意到属性文件不在jar中。构建该属性文件时如何将其添加到jar中?可能是什么原因?任何帮助表示赞赏。谢谢。

P.S:类的情景如下

parent
project1
project2
Maven Dependencies
|-conversation-3.5.3.jar
| |-package1
| |-packeage2
| |-META-INF
|-core-3.5.3.jar
  |-package1
  |-packeage2
  |  |-RequestUtils.class
  |-META-INF 
  |-version.properties   
ibm-watson watson-assistant
1个回答
1
投票

我自己修复了。线程将从其父线程继承其上下文类加载器。如果您在整个应用程序中什么也不做,那么所有线程都将以系统类装入器作为上下文类装入器。因此,我为当前线程自行设置contextClassLoader,如下所示。

ClassLoader classLoader = MyClass.class.getClassLoader();
Thread.currentThread().setContextClassLoader( classLoader );

现在可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.