【发布时间】:2019-03-20 00:58:26
【问题描述】:
我正在学习 Tiny OS 教程第 4 课“Mote-PC 串行通信和 SerialForwarder”,但我被卡在上面说的那一行 “安装 TestSerial 后,您需要运行相应的 Java 应用程序,通过串行端口与其通信。这是在构建 TinyOS 应用程序时构建的。在应用程序目录中,键入
$ java TestSerial
但是当我输入这个时,我会遇到以下错误
Error: Could not find or load main class TestSerial
我尝试了多种方法来解决此问题,但没有任何帮助。
我尝试过的解决方案:
- 将 CLASSPATH 设置为我当前所在的目录,即
导出 CLASSPATH=.:/home/wsn/tinyos-main/apps/tests/TestSerial
2)设置CLASSPATH为tinyos.jar所在目录
导出 CLASSPATH=.:/home/wsn/tinyos-main/support/sdk/java/tinyos.jar
3)使用java -cp . TestSerial运行命令
但是我一直有同样的错误
还有其他更好的方法来解决吗?
我正在使用带有 Fedora 操作系统的虚拟机
我正在尝试在 mib520 平台上运行程序,我使用的是 iris motes
我的java版本
openjdk 版本“1.8.0_31”
OpenJDK 运行时环境(内部版本 1.8.0_31-b13)
OpenJDK Server VM(build 25.31-b07,混合模式)
【问题讨论】:
-
TestSerial.class是否真的存在于您的工作目录中? -
@Michael Jaros 不,它没有,但教程没有提及它,我想假设它应该默认存在。我确实有TestSerial.java,但我也尝试使用相同的命令运行它。对不起,我对java很熟悉,所以不知道编译过程到底是什么
-
TestSerial.java在执行前需要编译:调用javac TestSerial.java即可。这将创建编译的类文件。我猜从本教程的角度来看,前面的步骤之一应该已经完成了这个并且没有按预期工作。 -
bash: javac: command not found.... 当我转到 java 目录 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.31-5.b13 时。 fc21.i386/jre/bin/ 我什至没有找到javac文件
-
Java 有两种发行版,JRE(仅用于执行)和 JDK(用于开发)。大多数人只需要 JRE,但要能够编译
.java文件,您需要 JDK。