1

我一直在尝试使用 Java 库jPushbullet2。它的依赖项之一是“ javax.websocket ”。我已经搜索了 websocket API 所在的站点,但找不到要下载和使用的 jar。这样的事情存在吗?

我还注意到jPushbullet2的作者提到了Tyrus,这是一个“参考实现”,推测是参考了javax.websocket。这是我需要的吗?我已经将它与其他依赖项一起添加到我的项目的构建路径中,并尝试运行第一个推送示例:

public class FirstPush {

    public static void main(String[] args) throws PushbulletException {

        PushbulletClient client = new PushbulletClient( "o.F8y8swnMc4MESY5rE1aUw8cFLloFH2uH" );
        String result = client.sendNote(null, "My First Push", "Great library. All my devices can see this!");
        System.out.println( "Result: " + result );

    }

}

但是,不幸的是,这会导致以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/websocket/CloseReason$CloseCode
at practice.FirstPush.main(FirstPush.java:10)
Caused by: java.lang.ClassNotFoundException: javax.websocket.CloseReason$CloseCode
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more

这是有道理的,因为我没有来自 javax 的任何罐子,只有 Tyrus 的罐子。

正如您可能知道的那样,我对外部图书馆场景非常陌生。感谢您的帮助!

4

1 回答 1

1

我必须在我的项目中添加 2 个 jar 文件:javax.websocket-client-api-1.1.jartyrus-standalone-client-1.9.jar使其工作。一个简单的谷歌搜索完成了这项工作:

https://jar-download.com/explore-java-source-code.php?a=javax.websocket-client-api&g=javax.websocket&v=1.1&downloadable=1

https://jar-download.com/explore-java-source-code.php?a=tyrus-standalone-client&g=org.glassfish.tyrus.bundles&v=1.9&downloadable=1

于 2017-01-30T13:10:12.253 回答