代码之家  ›  专栏  ›  技术社区  ›  xster

我的爪哇破解了吗?线程“main”java.lang.noclassdefoundError中出现异常

  •  -1
  • xster  · 技术社区  · 16 年前

    我用Office X上的TeTalm运行了一个Java程序,而且我再也不能在任何地方使用Java了。
    在最简单的程序中,我得到:

    线程“main”中出现异常 java.lang.noclasdeffounderror(Java.lang.noclasdeffounderror: 网关(错误名称: 组织/麦吉尔/电信/网关)

    我是否使用 javac -classpath . Gateway.java, java -classpath . Gateway 或者Eclipse或者Netbeans。

    完全相同的程序仍然可以使用cmd-r在textmate中运行,但是没有其他地方可以运行。
    我的Java发生了什么?

    1 回复  |  直到 16 年前
        1
  •  6
  •   Bart Kiers    16 年前

    我非常怀疑是一个文本编辑干的。

    不管怎样, java -classpath . Gateway 如果该类在包中,则无法工作 org.mcgill.telecom (文件夹结构建议)。

    尝试 java -classpath . org.mcgill.telecom.Gateway 而不是从文件夹 org 可以看到文件夹。

    以下是您可以做的测试。

    • 去某地 temp 文件夹并创建此文件夹结构: org/mcgill/telecom ;
    • 创建一个名为 Gateway.java 在 telecom 文件夹;
    • 将以下内容复制到 爪哇 文件;
    • 打开命令提示并导航到 临时雇员 文件夹;
    • 执行 javac org/mcgill/telecom/Gateway.java
    • 执行 Java类路径。org.mcgill.telecom.gateway网站

    这就是我得到的:

    bart@hades:~$ cd Temp/
    bart@hades:~/Temp$ ls
    org
    bart@hades:~/Temp$ javac org/mcgill/telecom/Gateway.java 
    bart@hades:~/Temp$ java -classpath . org.mcgill.telecom.Gateway
    Oi, it works!
    bart@hades:~/Temp$ 
    

    这里是网关类:

    package org.mcgill.telecom;
    
    public class Gateway {
      public static void main(String[] args) {
        System.out.println("Oi, it works!");
      }
    }