【问题标题】:unable to run compiled .class java file in Win7 cmd无法在 Win7 cmd 中运行已编译的 .class java 文件
【发布时间】:2015-05-01 11:34:42
【问题描述】:

在 win7 cmd 中尝试使用 Apache 的 java telnet 解决方案时出现以下问题:

尝试从 cmd 运行已编译的 .class 文件时,我不断收到“错误:无法找到或加载主类 TelnetClientExample.class”消息。

C:\Users\IB>java -cp C:\Users\IB\Documents\NetBeansProjects\TelnetClientExample\build\classes TelnetClientExample 192.168.0.13 23

在 NetBeans 中它运行良好(当然,将参数从 args 更改为来自 stdin 的变量),但在 cmd 中我无法运行它。

代码复制粘贴自:http://www.java2s.com/Code/Java/Network-Protocol/ExampleofuseofTelnetClient.htm(我的项目中的包名“telnetclientexample”除外)。

【问题讨论】:

    标签: java cmd compilation telnet


    【解决方案1】:

    您似乎遇到了 CLASSPATH 问题,netbeans 可能正在使用不同的类路径,请检查类的位置并将其添加到类路径中。或者你可以将你的项目编译成一个 jar 并将依赖项放入其中。

    如果这没有帮助,可能路径本身是错误的,检查包名,它们需要在你的 java 命令中完整

    【讨论】:

    • 我尝试创建 jar 文件,但结果相同:C:\Users\IB\Documents\NetBeansProjects\TelnetClientExample\build\classes>java -jar telnet.jar 错误:无法找到或加载 main class telnetclientexample.TelnetClientExample C:\Users\IB\Documents\NetBeansProjects\TelnetClientExample\build\classes>jar tf telnet.jar META-INF/ META-INF/MANIFEST.MF commons-net-3.3.jar telnetclientexample/TelnetClientExample.class 路径是正确的,所以我不知道为什么找不到主类。我创建jar文件时已经提供了入口点
    【解决方案2】:

    如果类在包telnetclientexample中,那么它的名字是

    telnetclientexample.TelnetClientExample
    

    因此你必须使用

    java -cp C:\Users\IB\Documents\NetBeansProjects\TelnetClientExample\build\classes telnetclientexample.TelnetClientExample 192.168.0.13 23
    

    【讨论】:

      【解决方案3】:

      我认为在您的 TelnetClientExample.java 文件中,您的类标识符(类名)与您的文件名不同...考虑以下程序:

      class hello{
      public static void main(String args[])
      {
          System.out.print("HI");
          }
      }}
      

      这里假设我将此文件保存为 Hello.java 并且在编译时它编译得很好,但给出了与您在问题中提到的相同的错误:

      G:\ZPREP>javac Hello.java

      G:\ZPREP>java 你好 错误:无法找到或加载主类 Hello

      G:\ZPREP>

      这是因为我使用名称“Hello”保存文件名并且类名是“hello”,因为 java 区分大小写它认为 'H' 和 'h' 是不同的,所以我认为在编译后你的情况 TelnetClientExample.class 生成时没有错误,但可能是您使用不同名称保存的文件...

      【讨论】:

        猜你喜欢
        • 2016-01-23
        • 1970-01-01
        • 1970-01-01
        • 2019-01-31
        • 2023-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多