使用命令行方式编译java代码时主类无法加载的问题

来源:互联网 发布:mac抹掉磁盘 编辑:程序博客网 时间:2024/05/30 07:14

早上在看IO部分的时候,根据java编程思想书上的例子写了一个小的demo,由于涉及到main函数args的参数输入问题,本人就用命令行的方去编译代码,可是在在执行java的命令的时候发生了主类无法加载的问题。上网百度了一波后发现网上的大多问题都是由于java的环境变量没有配置好的缘故.下面我把标准的java配置,粘贴如下:
- JAVA_HOME是 D:\Java\jdk1.8.0_11
- Path是 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
- CLASSPATH是 .;%JAVA_HOME%lib;%JAVA_HOME%lib\tools.jar
本人的代码

package IOTest;//用命令行编译的时候去掉这一行就可以正常运行import java.io.File;import java.io.FilenameFilter;import java.util.Arrays;import java.util.regex.Pattern;/** * All rights reserved. * Created by zhaideyin on 2017/10/16. * Description: */public class DirList {    public static void main(String[] args) {        File mfile = new File("C:\\Users\\Administrator\\IdeaProjects\\untitled\\src\\com\\company");        String[] mfileList;        if (args.length == 0) {            mfileList = mfile.list();        } else {            mfileList = mfile.list(new FilenameFilter() {                private  Pattern mpattern = Pattern.compile(args[0]);                @Override                public boolean accept(File dir, String name) {                    return mpattern.matcher(name).matches();                }            });        }        Arrays.sort(mfileList,String.CASE_INSENSITIVE_ORDER);        for(String mitem:mfileList) {            System.out.println(mitem);        }    }}

使用命令行后的结果如下:
运行失败后无法加载主类的结果图

根据网络上的方法,原因都是java的环境变量没有配置好,尤其是CLASSPATH的变量配置,很多人都会不小心漏前面的“,;”,导致结果的出错。可是我在检查环境变量配置的时候是没有任何问题的。最后的原因是由于我的代码时直接从idea里面粘贴出来的,所以代码的第一行申明是包的声明,所以在加载的时候,才无法加载这个类。
去掉包的声明后运行的结果:
成功的截图

阅读全文
0 0
原创粉丝点击