我需要从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。
1条答案
按热度按时间pdsfdshx1#
我移走了所有的jar
javax.ws.rs-api-2.1.1.jar
并将所有这些jar添加到domino安装下的/jvm/lib/ext。然后就开始起作用了。对于json处理,我使用jackson并通过以下方式注册提供程序:
我只在脚本库中添加了jackson jar: