问题2Exception in thread "main" java.lang.NoClassDefFoundError:

package com.jkk.io;
import java.io.*;
/**
 *这个类是一个使用静态方法delete()和一个删除指定文件或目录的独立程序
 *
 **/
 public class Delete{
  /**
   *独立程序的main()方法,检测其参数后
   *调用 Delete.delete() 进行删除操作
   *
   **/

 /**
  *用于删除文件或目录的静态方法,由main()调用
  *也可有其它程序调用
  *删除前首先确定文件或,目录是否可删除
  *如有问题,在于抛出异常IllegalArgumentException
  **/
  public static void delete(String filename){
 File f =new File(filename);

 //确定文件或目录是否存在,是否写保护
 if (!f.exists())fail("Delete no such file or directory:"+filename);
 if (!f.canWrite())fail("Delete:write protected:"+filename);
 if (f.isDirectory()){
  String[] files= f.list();
  if (files.length>0)
   fail("Delete :directory no empty:"+filename);

  }
  //如果通过了所有测试,删除
  boolean success=f.delete();
  if (!success)fail("Delete:deletion failed");
  }

  //抛出异常的简便方法
  protected static void fail(String msg)throws IllegalArgumentException {
   throw new IllegalArgumentException(msg);
  }
  public static void main(String[] args){
   if (args.length!=1){
    System.err.println("Usage:java Delection <file or directory>");
    System.exit(0);
    try{
     delete(args[0]);
    }
    //调用delete()显示抛出错误
    catch (IllegalArgumentException e){
     System.err.println(e.getMessage());
    }
   }
  }
 }
/**
* 这个程序在我编译后运行执行时会出现这样的问题
*Exception in thread "main" java.lang.NoClassDeFoundError:Delete(wrong name:com/jkk/io/Delete)为什么?
*/

 

Exception in thread "main" java.lang.NoClassDefFoundError: concept/person (wrong name: concept/Person)是由于类名与方法名的大小写问题导致的。在Windows系统中,编译器在编译过程中不严格区分大小写,因此只编译出了一个类person,并生成了class person。而在代码中,却使用了类名Person来创建对象,导致找不到或无法加载主类concept.Person,从而出现错误提示。\[1\] 在Linux中调用执行jar包时,由于没有配置环境变量,程序不知道去哪里寻找这些类文件,所以出现了以上错误。在Eclipse中执行正确是因为配置了工程的环境,通过build path已经将所需的类文件以jar包的形式添加到工程中。\[2\]\[3\] #### 引用[.reference_title] - *1* [出现报错:Exception in thread "main" java.lang.NoClassDefFoundError](https://blog.csdn.net/weixin_45794474/article/details/103231562)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [执行jar包出错:Exception in thread "main" java.lang.NoClassDefFoundError](https://blog.csdn.net/g1269420003/article/details/81630031)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值