java—如何让jax rs 2客户机从domino脚本库工作?

mmvthczy  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(376)

我需要从lotusscript代理调用restapi。我使用的是ls2j,所以脚本库中有java代码。
我第一次试的是泽西2号。首先是最新的版本,然后是一些旧的泽西2版本,总是得到一个例外,这是不同的版本,但主要是不同的 ExceptionInInitializerError . 我首先用maven在exclipse中解析依赖关系,以便导入所有必需的jar文件。
然后我决定尝试使用apachecxf。我从我的pom开始:

<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-rs-client</artifactId>
    <version>3.2.7</version>
</dependency>

并将所有已解析的JAR从maven存储库导入domino脚本库:

代码编译得很好,但在运行时我得到了以下结果:

java.lang.ClassNotFoundException: org.glassfish.jersey.client.JerseyClientBuilder

代码中与jax-rs相关的导入如下:

import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;

任何地方都没有提到泽西岛。在我的理解中,这意味着它没有找到cxf ClientBuilder implementation和exception显示默认实现。
我让剩下的客户和泽西1号一起工作,但我讨厌使用陈腐的解决方案。
有什么想法吗?
domino设计器和服务器版本是10。

pdsfdshx

pdsfdshx1#

我移走了所有的jar javax.ws.rs-api-2.1.1.jar 并将所有这些jar添加到domino安装下的/jvm/lib/ext。然后就开始起作用了。
对于json处理,我使用jackson并通过以下方式注册提供程序:

client.register(new JacksonJsonProvider())

我只在脚本库中添加了jackson jar:

相关问题