1 测试Test 类的时候突然遇到一个很奇怪的问题,网上搜了很多资料才找到解决办法,大多数情况是因为类加了包名编译,执行的时候没有到包下去执行。与我遇到的情况不一样。

  问题:写了一个测试类Test,在cmd下javac Test .java 能通过编译,并且生成了Test .class 文件,但是在执行时却报错:

  java Test

 c:\>java Test
错误: 找不到或无法加载主类 Test

可以肯定环境变量没有配错,因为直接执行java 与javac 命令都没有问题。很多朋友都遇到过这个问题,原因是类加了包名导致 .Java文件与 .class文件不在同一路径引起的,而我的这个测试类没有加任何包名。

解决方案:

  ① 可以通过 java -cp %classpath; Test  命令来执行,结果正确:

 c:\>java -cp %classpath; Test
Hello Servlet

② 使用echo %classpath 或者 set classpath,查看classpath环境变量,发现只显示当前用户的CLASSPATH值,系统里的CLASSPATH变量没有JDK lib 的绝对路径: .;D:\Program Files\Java\jdk1.7.0_80\lib; 。仔细回想,以前刚开始安装完JDK时,并没有配置过CLASSPATH,当时编译通过之后,可以在当前文件夹下执行对应的 .class文件的。

为什么现在又报错了呢,仔细检查了一下发现系统变量里配置了CLASSPATH,但是里面没有JDK的lib路径, .;D:\Program Files\Java\jdk1.7.0_80\lib; ,当初为了能够在系统的任何位置访问Tomcat下的servlet-api.jar 包,给系统变量里配置了CLASSPATH,到这里明白了为什么会出现上面的问题。

安装完JDK之后,在系统变量里要吗就不配置CLASSPATH(即系统变量里完全没有这个变量)如果添加了CLASSPATH 变量就一定要给它配置上JDK的lib绝对路径.

经过验证,从系统变量里删除CLASSPATH,java Test 命令可以成功执行; 如果添加CLASSPATH 就要在最前面添加上JDK的lib绝对路径:.;D:\Program Files\Java\jdk1.7.0_80\lib;  java Test 命令也可以成功执行。

Java 找不到或者无法加载主类的更多相关文章

  1. Java找不到或无法加载主类

    今天用cmd运行一下java出现了找不到或无法加载主类 的问题 javac编译可以通过   java运行不了 原因: 看一下java版本 看一下javac版本: 编译和运行环境的版本不一样报错原来是用 ...

  2. JAVA 用命令提示符执行java找不到或者无法加载主类

    使用cmd编译执行java文件时候,报错---找不到或者无法加载主类如下图 把红色部分去掉,再次编译执行如下解决问题 ,执行成功!!!!!! 2.当我们在eclipes中执行运行的时候 ggggggg ...

  3. 命令java 找不到或无法加载主类

    这个是由于用了package导致cmd下找不到class文件产生的错误,解决方案: 方法1.删除HelloWord.java源程序中的第一行package demo1:然后在cmd下正常使用javac ...

  4. Java -- 找不到或无法加载主类

    原文:http://wenku.baidu.com/link?url=5nS1GEaePn-hmtAg6xXdJvtt9Z89JQsakhqSv8fambaJY2t9nKPtf3hXFpjW-BtD9 ...

  5. JAVA“找不到或无法加载主类” 问题的解决办法

    http://blog.csdn.net/l_ong211314/article/details/8004975

  6. 控制台执行java找不到或无法加载主类

  7. java提示找不到或无法加载主类

    背景 默许jdk的配置大家都没有问题,执行java,javac无报错,但今天在尝试在本地起来kafka的时候,提示java 找不到或无法加载主类,然后日志中提示 Files 找不到或无法加载主类:C: ...

  8. 配置环境变量时,cmd下运行java -version,报错:找不到或无法加载主类 -version

    这个方面适用于报错为:java 找不到或无法加载主类,一般是找不到类的路径,问题出在CLASSPATH环境变量上,当然这是大多数.大概率的出错点 不排除根据个人情况不况,所以想起来伟大领袖毛主席的话: ...

  9. java HelloWorld 提示“错误: 找不到或无法加载主类 HelloWorld“解决方案

    在检查环境变量等前提工作准确无误后,注意要配好CLASSPATH,仍然报“错误: 找不到或无法加载主类 HelloWorld“. 本人工程目录:mygs-maven/src/main/java/hel ...

随机推荐

  1. 【Linux常见问题】Centos7的网络配置问题

    在配置Centos7网络的时候,可能出出现虚拟机.本地以及外网三者之间ping不通的问题,可以从以下的几个方面排查: 1.确定需要管理员权限才能修改配置网络,如下图: 需要点下更改设置,然后出现下面的 ...

  2. 【转】cookie如何共享到各个浏览器

    可以考虑HTML5 localstorage, 点击查看原始尺寸 http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html也 ...

  3. jq stop()和:is(":animated")用法区别

    stop(true,true): 表示停止匹配元素正在进行的动画并跳转到末状态,清空未执行完的动画队列.常用于”解决光标移入移出得过快导致的动画效果与光标动作不一致“问题! jQuery stop() ...

  4. [matlab] 19.matlab 基础几何学

    polyshape  函数可创建由二维顶点定义的多边形,并返回具有描述其顶点.实心区域和孔的各种属性的 polyshape 对象.例如,pgon = polyshape([0 0 1 1],[1 0 ...

  5. Boost 和 Boost.Build 的设置

    问题: 安装编译完 Boost 后,如果不设置 BOOST_ROOT 和 BOOST_BUILD_PATH 则可能导致使用 bjam 时定位到 Boost 默认的路径 /usr/share/boost ...

  6. mongo固定集合

    固定集合:事先创建,大小固定 类型于环形队列,空间不足队列头文件被替换 不能手动删除文档,只能自动替换 db.ceateCollection("COLLECTION_NAME",{ ...

  7. [转]关于oracle sql语句查询时表名和字段名要加双引号的问题

    oracle初学者一般会遇到这个问题.   用navicat可视化创建了表,可是就是不能查到!   后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引 ...

  8. display:inline-block 来解决盒子高度不一样,造成的盒子浮动

    <style> ul{ width: 320px; //给父元素添加这两个属性 font-size: 0px; text-align: center/left; } li{ width: ...

  9. JavaEE学习之JAXB

    一.前言 JAXB——Java Architecture for XML Binding,是一项可以根据XML Schema产生Java类的技术.JAXB提供将XML实例文档反向生成Java对象树的方 ...

  10. SpringMVC自动封装List对象 —— 自定义参数解析器

    前台传递的参数为集合对象时,后台Controller希望用一个List集合接收数据. 原生SpringMVC是不支持,Controller参数定义为List类型时,接收参数会报如下错误: org.sp ...