【问题标题】:Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/ref/FinalReferenceVM java/lang/NoClassDefFoundError: java/lang/ref/FinalReference 初始化时出错
【发布时间】:2012-03-29 21:31:31
【问题描述】:

我是 IT 专业的学生,​​我还在学习 java 和 android 开发。
我正在测试桌面应用程序和安卓应用程序之间的一些 udp 流量。 但每次我尝试运行 android 应用程序时都会出现此错误消息:

虚拟机初始化过程中发生错误 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{}
    }
    }

代码可能包含一些可能无法正常工作的部分,但不会出现错误。

我只是想知道为什么虚拟机无法启动。

grtz

【问题讨论】:

  • 哪行代码给出了这个错误?
  • 无,只是当我想运行代码时,控制台中出现此错误(在 Eclipse 中)

标签: java android


【解决方案1】:

您的 Java SDK 似乎没有正确安装。

试试看java是否在你的系统PATH中。您可以在终端上尝试 javac -version 命令。如果这会产生相同的错误,那么您需要将其添加到您的路径中。

另外,这个人好像和你有同样的问题,检查link

【讨论】:

  • 如果我这样做,我会得到版本号:1.7.0_02
  • 仍然让我觉得无法访问 JVM 的问题。试试我添加的链接。
  • 安装 32 位和 64 位会不会有问题?我会检查你的链接,谢谢你的回复
  • 是的,我个人更喜欢只安装一个版本。它会清除很多像这样的混乱和烦人的问题..
  • 好的,那么你会推荐哪一个,32 还是 64?我按照您链接上的步骤进行操作,但没有解决任何问题。但无论如何,谢谢。希望尽快找到解决办法。
【解决方案2】:

我找到了错误的解决方案。
我像使用 java 应用程序一样使用 android 项目,具有 main 功能。这带来了无法部署虚拟机的问题。
代码必须在活动的 oncreate 函数中,而不是在主函数中。
谢谢您的帮助。

grtz

【讨论】:

    【解决方案3】:

    在 UBUNTU 12.04LTS 上按顺序尝试这些步骤:

    1. chmod 755 eclipse.desktop
    2. 检查javac -version
    3. 为 javac 找到正确的路径
    4. 为 JDK 找到正确的路径
    5. 使用 vi 在文件 /opt/eclipse/eclipse.ini 的顶部添加以下行:

      -vm
      /usr/bin  /*if javac is in /usr/bin */
      /usr/share/jdk7/usr/java/jdk1.7.0_25/bin /*if this is the path for JDK */
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      • 1970-01-01
      • 2019-11-05
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 2013-03-02
      相关资源
      最近更新 更多