所以我正在开发一个著名的Cooja模拟器的java插件。当我单击按钮时,我得到您在标题中看到的异常。
我已经阅读了许多与同一问题相关的帖子,并且我以这种方式将发布类放在类路径环境 var 中(我正在 Ubuntu 上工作):
包含在"com/sun/image/codec/jpeg/JPEGCodec"中的类位于以下位置:
"/home/user/contiki-2.6/jar_files/lib",因此完整路径为"/home/user/contiki-2.6/jar_files/lib/com/sun/image/codec/jpeg/JPEGCodec"。
我已经编辑了bashrc文件,并插入了以下行:
导出类路径=.:/path1:/path2:/path3:/home/user/contiki-2.6/jar_files/lib
后者是我有问题的类所在的路径。在源代码中,类以这种方式导入:
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
我使用以下命令使Cooja模拟器开始:
蚂蚁快跑
我还尝试通过发布以下命令来强制使用所需的 jar/类:
ant -lib/home/user/contiki-2.6/jar_files/lib/com/sun/image/codec/jpeg run_bigmem
但我得到了同样的错误.. 有人可以帮助我解决这个问题吗?多谢。。
Cooja有自己的类加载器。要添加其他 jar,请将一个 lib
-文件夹添加到您的插件中,并将 jar 复制到该文件夹中。然后添加
se.sics.cooja.GUI.JARFILES = + file1.jar file2.jar
到cooja.config
.以 https://github.com/contiki-os/contiki/tree/master/tools/cooja/apps/mspsim 为例 - 这里所需的罐子是由 Ant 复制的。