利用cmd执行java文件报NoClassDefFoundError这样的错误。

最近自己在看一个java的教学视频,里面的老师使用cmd来进行编译和执行java的,我自己为了偷懒,在Eclipse里面写好java程序,然后再进入相应的文件区域,用cmd进行编译

和执行,过程中发现了了一个问题java java.lang.NoClassDefFoundError,如图所示:


之所以出现这个问题,是因为我的UdpSend2,是在udpdemo这个包下面,如下所示:

package udpdemo;

为了解决这个问题,我们可以这样来进行操作:

执行:

javac -d . UdpSend2.java

其中 . 代表当然目录 -d(directory)

执行完成后,你发现本目录下,多了一个udpdemo的文件夹,里面有UdpSend2.class

运行:

java udpdemo.UdpSend2


这样就没有错误了。


下面是用cmd执行java的方法,转载自http://www.cnblogs.com/king1302217/archive/2013/04/08/2584737.html

一、执行单一的java类

1、建立一个记事本,输入    (记住java区分大小写)
public class helloworld
{
    public static void main(String[] args) 
   {
        System.out.println("Hello World");
    }

2、记事本另存为helloworld.java(注意文件名字要与类名一致),存到例如D:\java

3、运行cmd,输入

d:回车           (定位到D盘)
cd java 回车        (定位到文件夹)
4、生成HelloWord.class文件
   输入javac helloworld 回车 
5、运行helloworld程序
   输入java helloworld 回车

6、编译输出Hello World

 

二、执行指定包下的java类

1、建立一个记事本,输入    (记住java区分大小写)
package AAA

public class helloworld
{
    public static void main(String[] args) 
   {
        System.out.println("Hello World");
    }

2、记事本另存为helloworld.java(注意文件名字要与类名一致),存到例如D:\java

3、运行cmd,输入

d:回车           (定位到D盘)
cd java 回车        (定位到文件夹)
4、生成HelloWord.class文件
   输入javac -d . helloworld.java 回车 
5、运行helloworld程序 

   输入java AAA/helloworld或者java AAA.helloworld 回车

6、编译输出Hello World

三、执行的java类引用了其他的java类

例如你想执行Package X1下的A.java类,但是A.java中引用了Package X2B.java类,这种情况下操作步骤如下:

1)将类A.javaB.java全部拷贝到一个制定的路径,例如D:\java

2)运行cmd,输入

d:回车           (定位到D盘)
cd java 回车        (定位到文件夹)

3)生成class文件

  输入javac -d . *.java 回车

4)运行A.java程序

  输入java X1.A

 

四、需要同时执行两个java类,例如客户端和服务端的通讯

只需要打开两个cmd分别执行即可,不过需要注意先执行哪个java类



  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值