在命令行界面使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
2018-03-11 14:47
1136 查看
java学习笔记: (一) 我最近刚开始学习java,使用IDE为 IntelliJ IDEA ,在使用的时候我发现在IDE里run成功的java程序,使用cmd命令行可以编译完成,但是使用java命令解释执行文件时,一直会提示错误:找不到或无法加载主类 java.lang.NoClassDefFoundError折个提示,在知乎百度都搜索了很久,没有找到适合自己的解决方案,最后我发现,IntelliJ IDEA会自动给你的java文件打包
package的路径是com.company.Main 按照java规定,我们应该按照package定义的路径来存放源文件,该类位于:
src\com\company\下,然后命令行运行就可以了 如下:
成功解决!!
注意 在package包下解释执行的时候,类的名称为:包名+类名,所以我在cmd执行时,我的类全名就写为 com.company.Main
总结:刚看的另一篇博文总结的很好:java执行class文件对package的路径是强依赖的。它在执行的时候会严格以当前用户路径为基础,按照package指定的包路径转化为文件路径去搜索class文件。如果有朋友是环境变量配置错误的话,请百度下java的环境变量CLASSPATH等配置信息,在这就不多赘述了。其实就是个路径问题,很简单但是如果卡在这里也很让人找不到头脑,有的答主提的加什么什么包,什么什么lib文件的,我觉得实际需要的情况应该很少,多数朋友应该都是环境变量配置错误或像我一样不清楚命令行里java文件路径的问题。
有问题的朋友们还可以参考知乎https://www.zhihu.com/question/25697905https://www.zhihu.com/question/36537093
和百度
祝大家身体健康 代码漂亮!
补充 :Java 包(package)
为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
包的作用
1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。
package的路径是com.company.Main 按照java规定,我们应该按照package定义的路径来存放源文件,该类位于:
src\com\company\下,然后命令行运行就可以了 如下:
成功解决!!
注意 在package包下解释执行的时候,类的名称为:包名+类名,所以我在cmd执行时,我的类全名就写为 com.company.Main
总结:刚看的另一篇博文总结的很好:java执行class文件对package的路径是强依赖的。它在执行的时候会严格以当前用户路径为基础,按照package指定的包路径转化为文件路径去搜索class文件。如果有朋友是环境变量配置错误的话,请百度下java的环境变量CLASSPATH等配置信息,在这就不多赘述了。其实就是个路径问题,很简单但是如果卡在这里也很让人找不到头脑,有的答主提的加什么什么包,什么什么lib文件的,我觉得实际需要的情况应该很少,多数朋友应该都是环境变量配置错误或像我一样不清楚命令行里java文件路径的问题。
有问题的朋友们还可以参考知乎https://www.zhihu.com/question/25697905https://www.zhihu.com/question/36537093
和百度
祝大家身体健康 代码漂亮!
补充 :Java 包(package)
为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
包的作用
1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。
相关文章推荐
- 使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- [置顶] 使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- 【转载】使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- 使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- 使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- 使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
- 使用java命令运行class文件提示“错误:找不到或无法加载主类“
- mac 使用java命令运行class文件提示“错误:找不到或无法加载主类“
- mac 下 使用 java运行 class 文件 总是提示 “错误: 找不到或无法加载主类”的解决方法
- 命令行运行java可执行文件,提示“错误:找不到或无法加载主类“
- 关于命令行中javac 编译成功,用 java 运行 class 文件出现 “ 找不到或无法加载主类 ” 的问题
- class文件用命令运行提示:错误: 找不到或无法加载主类.class
- javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题解决起来很简单
- javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题解决起来很简单
- javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题
- Java程序在Eclipse中可以运行,在命令行中却提示错误,找不到或无法加载主类!
- Java运行class文件出现“找不到或无法加载主类” 的问题解决
- 在命令行下编译通过,运行时提示错误:找不到或无法加载主类的原因分析与解决方式
- cmd 运行java .class文件 错误:找不到或无法加载主类
- javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题