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 +完整包名(包含文件包名 ...
随机推荐
-
迁移Reporting Services的方法与WMI错误
今天上午,接到一个任务:迁移SQL SERVER 2005的报表服务到另外一台SQL SERVER 2008服务器,结果等我备份了两边服务器的ReportServer,ReportServerTemp ...
-
HDU 4717 The Moving Points (三分法)
题意:给n个点的坐标的移动方向及速度,问在之后的时间的所有点的最大距离的最小值是多少. 思路:三分.两点距离是下凹函数,它们的max也是下凹函数.可以三分. #include<iostream& ...
-
java框架篇---spring aop两种配置方式
第一种:注解配置AOP 注解配置AOP(使用 AspectJ 类库实现的),大致分为三步: 1. 使用注解@Aspect来定义一个切面,在切面中定义切入点(@Pointcut),通知类型(@Befor ...
-
c/c++读取文件
#include <iostream> #include <string> #include <fstream> int main() { std::ifstrea ...
-
【HDOJ】2780 Su-Su-Sudoku
模拟+DFS. /* 2780 */ #include <cstdio> #include <cstring> #include <cstdlib> ][]; ][ ...
-
Python 中的用户自定义类型
Python中面向对象的技术 Python是面向对象的编程语言,自然提供了面向对象的编程方法.但要给面向对象的编程方法下一个定义,是很困难的.问题关键是理解对象 的含义.对象的含义是广泛的,它是对现实 ...
-
Android开发之查看应用包名package和入口activity名称的方法
使用android自动化测试工具monkeyrunner启动应用时,需要填写被测程序的包名和启动的Activity,以下有两种查看应用包名package和入口activity名称的方法: 方法一:使用 ...
-
使用zabbix_agent监控第一台windows服务器
解压windows客户端压缩包 bin目录下会有win32和win64俩个文件夹,根据windows系统的版本自行进行选择,将客户端程序文件拷贝至C:\zabbix 将conf文件中的zabbix_a ...
-
接口测试---Python数据处理需要注意的细节
一.json模块中的dumps方法 请求接口时params肯定是dict类型的,就是这种{"A":"B"},因为需要传json格式的参数到服务端,但是为了降低c ...
-
Python中json一点小知识
import json dic={ "name":"杨林" } ret=json.dumps(dic,ensure_ascii=False) #因为json.d ...