我是一名IT专业的学生,我还在学习java和android开发。
我正在测试桌面应用程序和 Android 应用程序之间的一些 udp 流量。
但每次我尝试运行 android 应用程序时,它都会给出此错误消息:
VM初始化时出错 java/lang/NoClassDefFoundError:java/lang/ref/FinalReference
这是UDP客户端的代码
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketAddress;
import android.app.Activity;
import android.util.Log;
public class Client extends Activity {
public static void main(String[] args) throws IOException {
try {
int bufSize = 4096;
int port = 12345;
DatagramSocket sock = new DatagramSocket(port);
sock.setReceiveBufferSize(bufSize);
byte[] buffer = new byte[bufSize];
while (true) {
DatagramPacket p = new DatagramPacket(buffer, bufSize);
sock.receive(p);
Log.d("Client", "Received: " + new String(p.getData()));
}
}finally{}
}
}
该代码可能包含一些可能无法运行的部分,但它不会给出任何错误。
我只想知道为什么虚拟机无法启动。
格茨
最佳答案
看起来您的 Java SDK 没有正确安装。
尝试查看 java 是否在您的系统 PATH 中。您可以在终端上尝试 javac -version 命令。如果这会产生相同的错误,那么您需要将其添加到您的路径中。
此外,这个人似乎和你有同样的问题,检查link :
关于java - VM初始化时出错java/lang/NoClassDefFoundError : java/lang/ref/FinalReference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9933851/