无法在Win7 cmd中运行已编译的.class java文件

时间:2015-02-28 21:54:16

标签: java cmd compilation telnet

尝试在win7 cmd中使用Apache的java telnet解决方案时,

问题如下:

我一直在"错误:无法找到或加载主类TelnetClientExample.class"尝试从cmd运行已编译的.class文件时出现错误信息。

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

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

代码是来自:http://www.java2s.com/Code/Java/Network-Protocol/ExampleofuseofTelnetClient.htm的复制粘贴(包名称除外,#34; telnetclientexample"在我的项目中)。

3 个答案:

答案 0 :(得分:2)

看起来你有一个CLASSPATH问题,netbeans可能正在使用不同的类路径,检查类的位置并将其添加到类路径中。或者你可以将项目编译成一个jar并将依赖项放在里面。

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

答案 1 :(得分:0)

如果该类位于包telnetclientexample中,则其名称为

telnetclientexample.TelnetClientExample

然后你必须使用

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

答案 2 :(得分:0)

我认为在您的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   错误:无法找到或加载主类Hello

     

G:\ ZPREP>

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