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 +完整包名(包含文件包名 ...
随机推荐
- 乱码之MyEclipse控制台
今天突然发现控制台出现乱码,查了资料解决方案不一. 我的解决方案如下: Run -> Debug Configuration... -> MyEclipse Servler -> M ...
- 【javascript激增的思考03】MVVM与Knockout
前言 今天搞的有点快,因为上午简单研究了下MVC,发现MVC不太适合前端开发,然后之前看几位前端前辈都推荐前端使用MVVM,但是我对其还不甚了解,所以我觉得下午还是应该先看看他是神马先,后面再决定要不 ...
- Apache 配置屏蔽某些请求头
Apache配置文件代码.xwamp:Windows下搭建Apache + PHP + MySQL环境 <Location /> SetEnvIfNoCase User-Agent &qu ...
- Refusing to install webpack as a dependency of itself
用npm安装webpack的时候报了这个错: Refusing to install webpack as a dependency of itself 翻译过来大概是:'拒绝安装webpack其本身 ...
- SharePoint2010升级到SharePoint2013操作手册
SharePoint2010升级到SharePoint2013操作手册 目 录 第一章 前言 3 第二章 升级前准备 3 第三章 升级流程图 5 第四章 升级过程 5 4.1 ...
- iOS 开发之路(AES/DES加密实现) 三
最近接触的这个项目由于以前服务器上用的是DES/CBC/PKCS5Padding加密方式,为了让在iOS上的加密结果与服务器端保持一致,我做了很多尝试,现在分享给大家.PS:现在不推荐用DES了,只是 ...
- 【读书笔记】iOS-苹果的网络
一,网络结构. 1,客户端服务器网络结构. 客户端服务器网络结构是一种主从网络结构.服务器是被动的,有点像餐厅的服务员.而客户端是主动的,像在餐厅吃饭的顾客. 2,对等网络结构. 对等网络也叫点对点网 ...
- EditText显示明文与密码
布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=& ...
- jQuery删除节点和追加节点
for (var i in checkedBoxIds) { var $td = $("#" + checkedBoxIds[i]).parent().parent().detac ...
- ajax async
$.post("index.php?app=default&act=ajaxBigImage", {goods_id: goods_id},function(data){$ ...