Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法
Java的cmd配置(也即Java的JDK配置及相关常用命令)
——找不到或无法加载主类 的解决方法
这段时间一直纠结于cmd下Java无法编译运行的问题。主要问题描述如下:
javac 命令可以正常运行,而java命令有时可以正常运行,有时却不可以,不可以的症状就是显示“找不到或无法加载主类”。
在网上找了各种资料,最终发现是因为代码里含有package语句,所以无法在cmd下运行java命令解释.class文件。而那些可以运行的文件就是因为没有使用package语句。
我这种问题的解决方法就是使用几个特殊的命令。
常用的命令是
//此处注释采用“//”,若要复制代码到cmd,请勿复制注释部分//设.java文件名为 filename //注意主类的名字和文件名完全相同,包括大小写。 javac filename.java java filename
而若代码里有package语句,则要使用
javac -d 指定的目录 filename.java // 如 javac -d F: filename.java
执行后就会在指定目录里生成一个文件夹,如果指定目录是“.”,则代表当前目录。文件夹名字就是package的名字(设为pkname),接下来使用
java pkname.filename
即可运行。
若程序中用到多个.java文件或多个.class文件也可使用这两条语句。
特附启发性网址一个:http://blog.sina.com.cn/s/blog_673bf2100100hrgd.html
其他常见问题:
1. javac 和 java 的版本不同:
在cmd下输入
java -version //显示java命令的版本号
和
javac -version //显示javac命令的版本号
如果java的版本号高于javac的版本号,java还是可以正常运行的。但如果java的版本号低于javac,则java无法正常运行。因为低版本的java无法运行高版本的javac所编译出的.class文件。
解决方法附网址:http://blog.csdn.net/feihong247/article/details/7878873
如果网址失效,就百度“java与javac版本”
2. 环境变量设置问题:
首先解释一下环境变量应该设置用户的还是系统的,附网址:http://www.blogjava.net/tyjava/articles/390788.html
总体来说就是设置系统的则所有用户都能使用,设置用户的则当前用户可以使用,换个用户就不好使了。但在Windows上大多数人不存在这个问题,所以两个都可以。如果不确定的话,就设置系统的吧。再不放心就两个都设置一下(比如我。。)。
首先设置JAVA_HOME,我的是
//JAVA_HOME D:\Java\jdk1.8.0_05 /* 注意此处是D:\Java\jdk1.8.0_05还是D:\Java\jdk1.8.0_05\ ,两者差了一个“\” */
然后是PATH
//PATH //在原有的PATH值最前面加上 .;%JAVA_HOME%\bin; /* 注意此处以“.”开头,表示当前目录。而这里的%JAVA_HOME%也就相当于上面你为它赋值的那一串,所以如果你的%JAVA_HOME%是带“\”的,你的PATH添加的内容就该是 .;%JAVA_HOME%bin; */
然后是CLASSPATH
//CLASSPATH .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib; /* 此处依然以“.”开头,表示当前目录,这样你才能cd进入一个目录并执行该目录下的.java文件。至于lib前面的“\”加不加,同PATH的处理方法。 */
附网址一个:http://blog.163.com/zhouru729@126/blog/static/82764270200711423542180/
2015-05-28
22:23:09
Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法的更多相关文章
- mac 下 使用 java运行 class 文件 总是提示 “错误: 找不到或无法加载主类”的解决方法
发现问题 切换到mac平台后,突然想写点程序运行在mac下,想到mac自带java,会方便好多.不过在这过程中遇到了麻烦: 总是提示 “错误: 找不到或无法加载主类” 工程结构 查了好久,终于找到原型 ...
- cmd下运行java文件时,找不到或无法加载主类的解决方法
最近再看java,却被一个看似很基础的hellorworld头疼了十几分钟,百度了一下,若你在cmd下编辑及运行.java文件时报错,解决方案如下,如图所示:
- 运行Java cmd程序 找不到或无法加载主类怎么解决
//这个问题原因有以下几种,但是和环境变量并没有太大的关系 //能够执行java 和 javac 就证明你的环境变量已经配置好了,其实 classpath 可以不配置 //假如有如下文件:H:\cod ...
- java 错误:找不到或无法加载主类的解决办法
此类错误的常见解决办法: 1.是因为.java文件不在项目的src路径内,也就是说源代码未被eclipse编译,字节码不存在无法运行了在项目名上右键 -> Builder Path -> ...
- 声明了包的类Java命令找不到或无法加载主类
首先你需要配置环境变量: CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar java 命令会在 CLASSPATH 目录下找相应 ...
- java运行显示“找不到或无法加载主类”的解决办法(linux)
要是配置文件的路径问题.打开终端,输入vi ~/.bashrc添加如下代码即可. # set Java environmentJAVA_HOME=/usr/local/java/jdk1.8.0PAT ...
- java环境变量---找不到或无法加载主类
默认安装在C:\ProgramFiles\Java\jdk1.7.0目录下 环境变量配置为 PATH=.;%JAVA_HOME%\bin CLASSPATH=.;%JAVA_HOME%\lib\dt. ...
- 编译和运行java文件 找不到或无法加载主类
这边提供一个关于程序中含有package关键字,使用“终端”运行程序时出现“找不到或无法加载主类”,而使用Eclipse软件可以正常运行程序的可能解决办法. 例如程序名为HelloWorldTest. ...
- javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题
1.pack后为包名,包与系统文件夹一一对应.并且代码中的包名不包含文件包的名字,即文件名 2.javac 按照*.java 文件的所在路径进行编译,编译完成后,使用java +完整包名(包含文件包名 ...
随机推荐
- js时钟&倒计时
<!DOCTYPE HTML> <html><head><meta charset=UTF-8><title>recursion</t ...
- 移动Web开发的bug及解决方案
我目前移动Web开发遇到的bug以及解决方案(慢慢补充当中). 1.android4.0以上一部分手机的webview中,当canvas小于屏幕大小时,绘图时会出现重影,就是说一个图只绘制了一遍,却出 ...
- 为什么你找不到优秀的GISer?
每年的三四月是招聘的黄金时节,故有金三银四的说法.求贤纳才对于处在发展上升期的公司来说,是全年性的常态化工作.只是这俩月市场上求职者数量较别的月份多.基数大了,淘到金子的概率自然会增加.大部分公司的伯 ...
- Atitit.病毒木马的快速扩散机制原理nio 内存映射MappedByteBuffer
Atitit.病毒木马的快速扩散机制原理nio 内存映射MappedByteBuffer 1. Java NIO(New Input/Output)1 1.1. 变更通知(因为每个事件都需要一个监听者 ...
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端 本博客前面博文中利用org.apache.http包中API进行Android客户端HTTP连接的例子 ...
- Condition的await-signal流程详解
转载请注明出处:http://blog.csdn.net/luonanqin 上一篇讲了ReentrantLock的lock-unlock流程,今天这篇讲讲Condition的await-signal ...
- tomcat部署java servlet的3种方式
1.将编译好的class文件按照与工程中的package的目录结构一致的文件夹底下 2.将你的servlet封装成 .war(web application archive格式的后缀名) 格式的文档直 ...
- 你真的了解UIEvent、UITouch吗?
一:首先查看一下关于UIEvent的定义 //事件类型 typedef NS_ENUM(NSInteger, UIEventType) { UIEventTypeTouches, UIEventTyp ...
- objective-c系列-动态类型和动态绑定
/* 静态类型: 变量的类型在编译之时就被确定下来. 动态类型: 对象的类型由对象的内存里的某个结构数据来决定它是什么类型, 而不是在编译之时就被确定下来的数据类型. 对象的类型只有在运行时才知道. ...
- 混合使用TFVC和GIT配置库的优化方案
如果要选出最近几年在软件工程领域最热的技术,那毋庸置疑就是git了.作为分布式源代码管理(DVCS)的代表,git以其超快的操作,便捷的分支合并模型和P2P模式的代码分享模式让软件开发团队的很多复杂协 ...