我想在我在Websphere Liberty上运行的JAX-RS应用程序中使用此JSON parser。
我做了以下事情:
1)右键单击Project - >属性 - > Java构建路径 - >添加外部罐子 - > C:\ javalib \快速json.jar
2)将C:\ javalib添加到环境变量CLASSPATH
3)将文件集xml添加到serverl.xml
<library id="ExternalLibs">
<fileset dir="C:\javalib" includes="*.jar"/>
</library>
4)取消选中&#39;启用项目特定设置&#39;在&#39; Java编译器&#39;
5)清理项目
[编辑]
我最初创建了一个新实例,然后将其转换为@ApplicationScoped bean并将其注入。现在我收到了这个错误:
The JNDI lookup failed for JNDI name java:module/ConsoleREST with the following Exception CNTR4007E: An error occurred creating the websphere.jaxrs.service.ConsoleREST interface for the ConsoleREST enterprise bean in the WebApiConsole.war module in the WebApiConsole application. The enterprise bean look up failed using the java:module/ConsoleREST JNDI name. Exception: com/json/parsers/JsonParserFactory.
CNTR4007E: An error occurred creating the websphere.jaxrs.service.ConsoleREST interface for the ConsoleREST enterprise bean in the WebApiConsole.war module in the WebApiConsole application. The enterprise bean look up failed using the java:module/ConsoleREST JNDI name. Exception: com/json/parsers/JsonParserFactory
第一步足以让它编译。现在我得到了我学到的运行时错误。我很感激帮助!
答案 0 :(得分:5)
您还需要在server.xml中的应用程序定义中使用<classloader>
元素,该元素引用共享库。例如,
<application id="myapp" name="My App" type="war" location="somewhere.war">
<classloader commonLibraryRef="ExternalLibs" />
</application>
或者,如果您的应用程序是库的唯一用户,则可以将其打包在战争的WEB-INF / lib文件夹中。 (将它放在Eclipse中的WebContent / lib中应该可以实现这一点。)