从CMD窗口运行Java程序出现的程序包XXX不存在、找不到或无法加载主类XXX问题详解 |
您所在的位置:网站首页 › 在cmd中运行java时出错 › 从CMD窗口运行Java程序出现的程序包XXX不存在、找不到或无法加载主类XXX问题详解 |
从CMD窗口运行Java程序出现的程序包XXX不存在、找不到或无法加载主类XXX问题详解
Java源文件所在目录
文件一:E:\com\test\Test.java package com.test; import com.packageaccess.*; public class Test { public static void main(String[] args) { PackageAccess PA = new PackageAccess(); } }文件二:E:\com\packageaccess package com.packageaccess; public class PackageAccess { public PackageAccess(){ System.out.println("This is com.packageaccess.PackageAccess Class!"); } }在test目录下通过cmd命令窗口编译Test.java文件复现该问题,如图: 在test目录下通过cmd命令窗口编译Test.java文件复现该问题,如图: Java中完整的类名应该是包名+类名,本文中的两个Java源程序的包的公共路径都为com,当我们在test目录下编译Test.java文件时,虚拟机会认为我们Test.java文件的位置为:test\com\test\Test.java,然后以此去查找com.packageaccess包,当然查找失败! 同理,当我们在test目录下通过java命令运行Test时,虚拟机默认在test\com\test下去查找Test.class文件,当然查找不到! 此问题的原因可归结到环境变量CPASSPATH的设置上,在CLASSPATH中,“.”表示当前目录。 参考链接: https://blog.csdn.net/ncc1995/article/details/84932759 https://blog.csdn.net/weixin_45655555/article/details/106469076 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |