200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 声明了包的类Java命令找不到或无法加载主类

声明了包的类Java命令找不到或无法加载主类

时间:2020-08-26 09:55:53

相关推荐

声明了包的类Java命令找不到或无法加载主类

首先你需要配置环境变量:

CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

java 命令会在 CLASSPATH 目录下找相应的 class 文件。

java HelloWorld

如果你输入上面的命令,那么会在 CLASSPATH 下寻找 HelloWorld.class 文件。

java tee.Test

如果你输入上面的命令,那么会先在 CLASSPATH 找 tee 目录,然后在 tee 目录里找 Test.class 文件。

所以说如果你的环境变量配置错误,例如漏了".;",那么就不会在当前目录寻找了。

(.代表当前目录,..代表上级目录)。

java -cp . HelloWorld

如果你输入上面的命令,那么必然会在当前目录找 HelloWorld.class 文件。 关于包的问题,我再补充以下几点(以我自己写的socket发送端的代码作为例子)

1 package WebProgramingDemo; 2 3 import java.io.IOException; 4 import .DatagramPacket; 5 import .DatagramSocket; 6 import .InetAddress; 7 8 public class UDPSendDemo { 9 10/**11* @param args12* @throws IOException 13*/14/*15* 创建UDP传输的发送端的步骤;16* 1.建立UDP的socket服务17* 2.明确要发送的数据18* 3.将数据封装成数据包19* 4.用socket服务的send方法将数据包发送出去20* 5.关闭资源21*/22public static void main(String[] args) throws IOException {23 24 System.out.println("发送端启动。。。");25 /*26* 创建UDP传输的发送端的步骤:27*/28 //1.建立UDP的socket服务29 DatagramSocket ds = new DatagramSocket(8888);30 31 // 2.明确要发送的数据32 String s1 = "UDP 传输显示!";33 // 3.将数据封装成数据包34 byte buf[] = s1.getBytes();35 DatagramPacket dp = new DatagramPacket(buf, buf.length,36 InetAddress.getByName("192.168.2.103"), 10000);37 // 4.用socket服务的send方法将数据包发送出去38 ds.send(dp);39 // 5.关闭资源40 ds.close();41 42}43 44 }

很明显,UDPSendDemo属于WebProgramingDemo包,

我们cmd命令行进入到包所在的目录对该java文件进行编译和运行,会出现这样的错误:

这个类的全名应该是WebProgramingDemo.UDPSendDemo,而我们输入的是UDPSendDemo.

接着,我们退回到上层目录,因为编译已经通过,所以我们直接运行:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。