我正在尝试使用messagepack在Arduino和Java应用程序之间来回发送数据,而我在设置messagepack的java实现时遇到了麻烦:msgpack-java(https://github.com/msgpack/msgpack-java/wiki/QuickStart)。
我想避免自己构建整个库,所以我使用了来自here的v0.6.8。
示例代码编译成功,但在运行时我得到
java.lang.NoClassDefFoundError: javassist/ClassPath
特别是在
行MessagePack msgpack = new MessagePack();
我尝试自己构建msgpack jar,但是我在源代码上遇到编译错误,因为它缺少javassist包。我不知道从哪里获得正确的软件包,遗憾的是开发人员在文档中没有提到。我在他们的页面上找不到评论部分所以我希望这里有人可以帮助我让msgpack工作。
我也看过这个问题(Using MessagePack with Android)但是我不知道哪里可以获得我需要的库。
答案 0 :(得分:3)
我想这是一个相当明显的问题,但我会在这里回答,以防其他人遇到像我这样的麻烦。我最后通过查看Maven POM文件了解了我所需的依赖项。这个文件告诉我,我需要json-simple库和javassist库。我刚下载了这两个库的.jar文件,并将它们添加到eclipse构建路径中,一切运行正常。
作为替代方案,请考虑sirbrialliance的精简静态实现:https://bitbucket.org/sirbrialliance/msgpack-java-lite 这有点文档记录,最初更容易设置。