如何解决java.lang.NoSuchMethodError: 由 JerseyClientBuilder 引起
pom.xml 依赖
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.connectors</groupId>
<artifactId>jersey-apache-connector</artifactId>
</dependency>
使用 Jersey 2.33 版本和 javax.ws.rs-api
版本 2.1.1 jars 和下面的示例代码,我试图调用
new JerseyClientBuilder()
.withConfig(clientConfig)
.executorService(executorService)
并低于错误
引起:java.lang.NoSuchMethodError: org.glassfish.jersey.client.JerseyClientBuilder.executorService(Ljava/util/concurrent/ExecutorService;)Ljavax/ws/rs/client/ClientBuilder;
@ApplicationScoped
public class SimpleHttpClient {
@Resource
private ManagedExecutorService executorService;
@Override
public ClientBuilder newHttpClientBuilder(ClientSettings settings) {
ClientConfig configuration = new ClientConfig();
configuration.property(ClientProperties.CONNECT_TIMEOUT,TimeUnit.MILLISECONDS);
configuration.property(ClientProperties.READ_TIMEOUT,TimeUnit.MILLISECONDS);
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
connectionManager.setMaxTotal(settings.getConnectionPoolSize());
connectionManager.setDefaultMaxPerRoute(50);
configuration.property(ApacheClientProperties.CONNECTION_MANAGER,connectionManager);
configuration.connectorProvider(new ApacheConnectorProvider());
return new JerseyClientBuilder().withConfig(configuration).executorService(executorService);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。