javax.websocket.DeploymentException:org.glassfish.tyrus.container.grizzly.client.GrizzlyClientContainer

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

我正在尝试使用 tyrus 项目创建一个 websocket。我收到以下错误:

java.lang.RuntimeException: javax.websocket.DeploymentException: org.glassfish.tyrus.container.grizzly.client.GrizzlyClientContainer

    at org.glassfish.tyrus.client.ClientManager.<init>(ClientManager.java:272) ~[bundlefile:na]
    at org.glassfish.tyrus.client.ClientManager.createClient(ClientManager.java:240) ~[bundlefile:na]
    at org.glassfish.tyrus.client.ClientManager.createClient(ClientManager.java:219) ~[bundlefile:na]

我的 pom 依赖项如下所示:

<dependency>
    <groupId>org.glassfish.tyrus</groupId>
    <artifactId>tyrus-client</artifactId>
    <version>1.12</version>
</dependency>
<dependency>
    <groupId>org.glassfish.tyrus</groupId>
    <artifactId>tyrus-core</artifactId>
    <version>1.12</version>
</dependency>
<dependency>
    <groupId>org.glassfish.tyrus</groupId>
    <artifactId>tyrus-spi</artifactId>
    <version>1.12</version>
</dependency>
<dependency>
    <groupId>javax.websocket</groupId>
    <artifactId>javax.websocket-api</artifactId>
    <version>1.1</version>
</dependency>
<dependency>
    <groupId>javax.websocket</groupId>
    <artifactId>javax.websocket-client-api</artifactId>
    <version>1.1</version>
</dependency>

非常简单的java代码:

    logger.info("Creating web socket for url {}", getWebSocketUrl(currentApic.IPAddress, port));
    echoUri = new URI(getWebSocketUrl(currentApic.IPAddress, port));
    client = ClientManager.createClient();
    client.connectToServer(APICWebClient.class, echoUri);

如果我尝试添加容器依赖项

<dependency>
    <groupId>org.glassfish.tyrus</groupId>
    <artifactId>tyrus-container-grizzly-server</artifactId>
    <version>1.12</version>
</dependency>

我的 mvn clean 安装失败并提示:

 Failed to read artifact descriptor for org.glassfish.tyrus:tyrus-container-grizzly-server:jar:1.4: Could not transfer artifact org.glassfish.tyrus:tyrus-container-grizzly-server:pom:1.4 from/to central (http://repo1.maven.org/maven2): repo1.maven.org: unknown error: Unknown host repo1.maven.org: unknown error -> [Help 1]

编辑:以上问题在 mvn clean 后解决。添加服务器容器和客户端容器包。但我仍然遇到相同的运行时错误 java.lang.RuntimeException:javax.websocket.DeploymentException:org.glassfish.tyrus.container.grizzly.client.GrizzlyClientContainer

我正在使用OSGi环境。我该如何解决这个问题。需要一些帮助。

websocket osgi tyrus
2个回答
7
投票

类路径中缺少容器

org.glassfish.tyrus.container.grizzly.client.GrizzlyClientContainer
。 添加maven模块
tyrus-container-grizzly-client

是的,tyrus 抛出的异常可能更准确。


0
投票

使用, org.glassfish.tyrus tyrus-容器-grizzly-客户端 1.17

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