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

 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发送端的代码作为例子)
 package WebProgramingDemo;

 import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress; public class UDPSendDemo { /**
* @param args
* @throws IOException
*/
/*
* 创建UDP传输的发送端的步骤;
* 1.建立UDP的socket服务
* 2.明确要发送的数据
* 3.将数据封装成数据包
* 4.用socket服务的send方法将数据包发送出去
* 5.关闭资源
*/
public static void main(String[] args) throws IOException { System.out.println("发送端启动。。。");
/*
* 创建UDP传输的发送端的步骤:
*/
//1.建立UDP的socket服务
DatagramSocket ds = new DatagramSocket(8888); // 2.明确要发送的数据
String s1 = "UDP 传输显示!";
// 3.将数据封装成数据包
byte buf[] = s1.getBytes();
DatagramPacket dp = new DatagramPacket(buf, buf.length,
InetAddress.getByName("192.168.2.103"), 10000);
// 4.用socket服务的send方法将数据包发送出去
ds.send(dp);
// 5.关闭资源
ds.close(); } }

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

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

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

声明了包的类Java命令找不到或无法加载主类的更多相关文章

  1. Java 错误: 找不到或无法加载主类,问题集合

      正确编译命令: javac Hello.java 正确运行命令: java Hello   错误1:H:\code>java Hello.java 错误: 找不到或无法加载主类 Hello. ...

  2. 编译和运行java文件 找不到或无法加载主类

    这边提供一个关于程序中含有package关键字,使用“终端”运行程序时出现“找不到或无法加载主类”,而使用Eclipse软件可以正常运行程序的可能解决办法. 例如程序名为HelloWorldTest. ...

  3. 记一次解决cmd中执行java提示"找不到或无法加载主类"的问题

    今天遇到一个问题:在cmd命令行中,用javac编译java文件可以成功,但是用java执行却提示“找不到或无法加载主类”.现将该问题的原因以及解决办法记录一下. 先理解一下系统变量path和clas ...

  4. IDEA导出jar包后运行报错 找不到或无法加载主类

    开发工具:IDEA16 运行环境:ubuntu 问题:根据网上的Idea导出jar包的方法,将我的项目导出jar包后运行报错:找不到或无法加载主类.   为了找到这个原因,我重新搭建了一个测试例子,在 ...

  5. 关于解决cmd中执行java提示"找不到或无法加载主类"的问题

    昨天学生遇到一个问题:在cmd命令行中,用javac编译java文件可以成功,但是用java执行却提示“找不到或无法加载主类”.现将该问题的原因以及解决办法记录一下. 先理解一下系统变量path和cl ...

  6. java提示找不到或无法加载主类

    背景 默许jdk的配置大家都没有问题,执行java,javac无报错,但今天在尝试在本地起来kafka的时候,提示java 找不到或无法加载主类,然后日志中提示 Files 找不到或无法加载主类:C: ...

  7. 【spring boot】启动类启动 错误: 找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 的解决方案

    导入的一个外部的spring boot项目,运行启动类,出现错误:找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 解决方案: 将所有错误处理完成后,再 ...

  8. java 错误:找不到或无法加载主类的解决办法

    此类错误的常见解决办法: 1.是因为.java文件不在项目的src路径内,也就是说源代码未被eclipse编译,字节码不存在无法运行了在项目名上右键 -> Builder Path -> ...

  9. 关于Java的“找不到或无法加载主类”

    Java编程思想4th第六章的关于访问权限和包的笔记总结时遇到了一个关于package命名及导入的问题. 环境:Ubuntu 16.04.3 LTS x86_64 首先,我要安装部署Java的开发环境 ...

随机推荐

  1. POJ2031Building a Space Station

    http://poj.org/problem?id=2031 题意:你是空间站的一员,太空里有很多球形且体积不一的“小房间”,房间可能相距不近,也可能是接触或者甚至是重叠关系,所有的房间都必须相连,这 ...

  2. 非常好的Demo网站

    http://www.xdemo.org/

  3. nginx面试题

    1.Nginx是如何实现高并发的 service nginx start之后,然后输入#ps -ef|grep nginx,会发现Nginx有一个master进程和若干个worker进程,这些work ...

  4. WCF之各种WCF引用方式

    写在开头:本文内容来自 WCF全面解析中的一个经典例子,如果你已经看过了,那么可以忽略本文,本文旨在和大家分享不一样的WCF使用方法. 准备工作: 1.创建解决方案WCFService(当然名字可以任 ...

  5. node.js EventEmitter发送和接收事件

    EventEmitter是nodejs核心的一部分.很多nodejs对象继承自EventEmitter,用来处理事件,及回调.api文档地址: http://nodejs.org/api/events ...

  6. Oracle EBS PO 收接事处理状态待定或错误

    PO接收后,发现在没有接收成功.在"事务处理状态汇总"查找到不是"待定"就是"错误",如下图:   对于事务处理状态"待定&quo ...

  7. python 中@property的使用

    从14年下半年开始接触到python,自学了一段时间,后又跟别人学习了下,把基础知识基本上学过了.忽然感觉python不可能这么简单吧,就这么点东西?后来看了下书,发现还有很多的高级部分.连续看了两天 ...

  8. Unity3D如何获取对象和子对象

    在Unity3d中获取游戏对象有三种方法: 一:获取对象 1.通过对象名称获取:objCube=GameObject.Find("Cube"); private var objCu ...

  9. BZOJ_1019_[SHOI2008]_汉诺塔_(DP)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1019 汉诺塔游戏,但是有移动优先级,在不违反原有规则的情况下,给定优先移动目标.求完成游戏所需 ...

  10. [.NET WebAPI系列02] WebAPI 中的HTTP通信

    [前言] 本节用于承上启下,通过第一节了解的WebAPI的基本语法,Controller CRUD方法的基本格式: 但很多场合,第一节中的Web API Controller方法返回的信息 过于简单, ...