javajava一次编译到处运行通过,为什么运行却提示找不到或无法加载主类

找不到或无法加载主类
时间: 12:42:19
&&&& 阅读:4482
&&&& 评论:
&&&& 收藏:0
标签:1、遇到问题:在windows下用编写了很简单的一段java代码,用命令行运行始终出现问题:找不到或无法加载主类.
2、百度一般都说是环境变量出了问题,结果环境变量配置没有问题,之前对环境变量的配置一直不明白(我现在是菜鸟),路遇一文章,写的简单明了,如下:
转自 &&/link?url=X-ENHqG4DNytl2mmsPkqEYQbEKbzcd3D12zAACHKPQHuDMVxh79t7WSQh2CeGqZdQ1YzOzJdlMZ8b8Zx1VXXJcb6RmhD7vueqtsSwpFhkTe
&摘抄部分内容:
/**********************************************************************************************************
& & & & & & & & & & & & & & & & & & & & & &2.1 &jdk的默认安装在C:\ProgramFiles\Java\jdk1.7.0目录下
& & & & & & & & & & & & & & & & & & & & & &2.2 环境变量配置为&
& & & & & & & & & & & & & & & & & & & & & & & & PATH=.;%JAVA_HOME%\bin&
& & & & & & & & & & & & & & & & & & & & & & & &CLASSPATH=.;%JAVA_HOME%\lib\dt.%JAVA_HOME%\lib\tools.
& & & & & & & & & & & & & & & & & & & & & & & & JAVA_HOME=C:\Program&Files\Java\jdk1.7.0&&
               &2.3 为什么这样设置变量
& & & & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & & &以下为置JAVA_HOME,CLASSPATH,PATH的目的: &
& & & & & & & & & & & & & & & & & & & & & &2.3.1设置JAVA_HOME: &
& & & & & & & & & & & & & & & & & & & & & &一、为了方便引用,比如,你JDK安装在C:\Program&Files\Java\jdk1.7.0目录里,则设置JAVA_HOME为该 &
& & & & & & & & & & & & & & & & & & & & & & & & 目录路径,&那么以后你要使用这个路径的时候,&只需输入%JAVA_HOME%即可,&避免每次引用都输入很长的&&路径串; &
& & & & & & & & & & & & & & & & & & & & & &二、归一原则,&当你JDK路径被迫改变的时候,&你仅需更改JAVA_HOME的变量值即可,&否则,你就要更改任&&& & & & & & & & & & & & & & & & & & & & & & & & &何用绝对路径引用JDK目录的文档,&要是万一你没有改全,&某个程序找不到JDK,&后果是可想而知的----系统崩溃!&&& & & & & & & & & & & & & & & & & & & & & &三、第三方软件会引用约定好的JAVA_HOME变量,&不然,&你将不能正常使用该软件,&以后用JAVA久了就会知道,&要是某个软件不能正常使 & & & & & & & & & & & & & & & & & & & & & & & 用,&不妨想想是不是这个问题.&&& & & & & & & & & & & & & & & & & & & & &2.3.2设置CLASSPATH:&&& & & & & & & & & & & & & & & & & & & & & & &这是一个很有趣,当然也比较折磨初学者的问题,&这个变量设置的目的是为了程序能找到相应的".class"文件,&不妨举个例子:&你编译一个 & & & & & & & & & & & & & & & & & & & & & & & & JAVA程序---A.java,&会得到一个A.class的类文件,你在当前目录下执行java&A,&将会得到相应的结果(前提是你已经设置CLASSPATH & & & & & & & & & & & & & & & & & & & & & & & &为".").&现在,&你把A.class移到别的目录下(例如:"e:\"),&执行java&A,&将会有& & & & & & & & & & & & & & & & & & & & & & NoClassDefFindError的异常,原因就是找不到.class文件,&现在你把CLASSPATH增加为:".;e:\"再在任何目录下运行java&A,&看看会有什 & & & & & & & & & & & & & & & & & & & & & 么结果~~:)~~~,&一切正常,&java命令通过,CLASSPATH找到了.class文件! &&
& & & & & & & & & & & & & & & & & & & & 2.3.3设置PATH: &
& & & & & & & & & & & & & & & & & & & & & &道理很简单,&你想在任何时候都使用%JAVA_HOME%\bin\java&等来执行java命令吗,&当然不会,&于是,&你&&& & & & & & & & & & & & & & & & & & & & & &可以选择把%JAVA_HOME%\bin添加到PATH路径下,&这样,&我们在任何路径下就可以仅用java来执行命令了&&. & & & & & & & & & & & & & & & & & & & & &(当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序,&&&& & & & & & & & & & & & & & & & & & & & & 并且执行.) &
/**********************************************************************************************************************
3.代码如下:
package java1;/** * Description: * &br/&Copyright (c),,yeeku.H.Lee * &br/&This program is protected by copyright * &br/&Program Name: * &br/&Date: */
public class TestJavadoc{   /**
  *简单测试属性
  */   protected S   /**
  *主方法,程序的入口
  */   public static void main(String[] args)   &{
    System.out.println("Hello World!");   }}
文件所在路径:D:\javaforstu\java1
查找文档原来是编译运行错误:正确格式为:编译D:\javaforstu&javac &java1\TestJavadoc.java
& & & & & & & & & & & & & & & & & & & & & & & & & & & &运行D:\javaforstu&java &java1.TestJavadoc
& & & & & & & & & & & & & & & & & & & & & & & & & & & &结果成功!
帮到我了,很好,之前写的很长的评论被登录和注册叉掉了,可气······不想再写一遍了总之写的很对
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!新接触java的小白中的小白,自学中,在运行第一个java程序时就遇到了很尴尬的事情。。
环境变量配置成功,在命令行输入java、javac都没有问题,编译也没有问题,之后生成了.class文件,但是在执行时却遇到了“找不到或无法加载主类”
网上查了很多,其中主要是说环境变量配置的问题:
对于win7系统来说,三个环境变量配置方式如下:
计算机-&右键属性-&高级系统设置-&环境变量,然后对于以下三个变量,系统变量中没有的新建,有的在前面添加:
JAVA_HOME:JDK的安装目录,我的是:D:\Program Files\Java;
classpath:&.;%JAVA_HOME%\//注意classpath中的.;不可少
path:%JAVA_HOME%\bin;
注意修改完之后重启命令行;但是,检查了好几遍没问题,再重启,再执行,还是有问题。。
于是接着找环境变量相关的内容,百度文库(/link?url=WEOvtkMArNBwscIN_Oc26S5AbusLSx-p84qLV9I6kjPY6SPH6VXklwhyBl10SL-9kppt-ZHB5-eECenOJmKQ8mIaWFEaiVrNpCQ-XQ2fWlG)对于环境变量解释的很浅显,如下:
对于java来说,在命令行里面输入java xxx的时候系统并不知道java这个exe文件的位置,这是就需要显式的指出,java这个程序在哪里?实际上这个程序在jdk安装路径\bin文件夹里面,也就是说要想运行java,path必须指向bin文件夹。
还有一个classpath,现在系统能找到java这个程序了,但是仅仅这样的话,你在命令行中输入javac的话,又出现错误了,也许有人会说你不是说系统通过path找到了,应该能找到我设置的bin文件下的javac程序呀?这里要说的是,虽然你已经设置好了path但是系统还是有些东西找不到,什么东西呢?Java的类库文件,大家知道java的源程序上面总是有很多的形如import java.xx.xx;的语句,这就是引用的java的类库,也许有人会问,我的程序中没有这一句话呀,对,很多简单的程序都没有,例如经典的“Helloworld”里面就没有,对它是没有显式的引用,但是在每个java文件中都隐藏了这么一句“import
java.lang.*”;现在问题就出来了,程序怎么才能找到这个lang这个包并且把里面的类导进去呢?显然只通过path是不行的,那么就只能另外的定义一个变量来指向类库文件。它就是classpath,为什么叫这个名字呢?不为什么,就规定了必须用这个名字,它必须叫这个名字,可以理解为它是在java的jdk中定义的一个static的变量,既然已经定义好了,你只用给它赋值就得了,然过jdk调用的时候它没有值,就是说你没有新建一个classpath并且给它赋值,那么没办法,就给你脸色看。
另外还有一点就是可能有人会问JAVA_HOME变量是一个什么变量呀,这个变量在目前的阶段来说就是一个我们自己定义的变量,它作用就是让你省劲,例如你的jdk安装的路径很深,譬如安装到了“C:\Program Files\Sun\Java\jdk1.6.0_02\”下边然后你在设置path的时候必须输入“C:\Program Files\Sun\Java\jdk1.6.0_02\bin”,设置classpath的候再来一次“C:\Program Files\Sun\Java\\jdk1.6.0_02\lib\tools.jar”,你不累系统都烦了,而且path、classpath也变得很长了,下一次设置的时候就变得很麻烦了,要找半天才能找到自己要改的地方,现在JAVA_HOME就出现了,你可以在系统中定义一个名为JAVA_HOME的环境变量,它的值是:“C:\Program
Files\Sun\Java\jdk1.6.0_02”,那么在设置path的时候就可以直接写了,在path的值里面添加:“%JAVA_HOME%\bin”,就是这么简单,相应的classpath为:“,;%JAVA_HOME%\tools.jar”是不是简洁多了呢?而且你的安装路径变了或者写错的时候要改也只用改这一处,不用把path和classpath同时修改。到了这里我继续叨叨几句,JAVA_HOME可以不大写,甚至名字都可以变成“sxy”,“a”,或者你能想到的其他,反正只要在引用它(就是系统在看到有%%围绕的变量时就把它替换成变量的值,例如上面的“%JAVA_HOME%\bin”系统看到这个的时候就把%JAVA_HOME%变成了C:\Program
Files\Sun\Java\jdk1.6.0_02)保证名称一样(大小写不敏感),但是如果以后你要是使用tomcat等软件的时候,它会检查你的JAVA_HOME变量,所以最好保持这个名字不变,但是你如果现阶段不用,就随便了。
但是好像跟我的问题没关系,然后又找到(http://blog.csdn.net/baidu_/article/details/),里面提出包内程序运行时需要按照:java package.class文件名的形式进行执行;
一般这个问题到现在就应该解决了,但是我的helloworld程序好像也不是什么包内程序,不过有一个词提醒了我:java package.class文件名,后面是class文件名,没有后缀,于是回去执行java helloworld,没错误了。。。。。。
注:小白就是小白,尤其还是野生自学的,一个最简单的不是问题的问题就耽误了这么久,不过查了一圈资料也学到了一些其他的东西,希望以后能坚持下去吧
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1683次
排名:千里之外
原创:24篇
(4)(21)(3)拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(37f29d-ua98).
重新安装浏览器,或使用别的浏览器class文件出现了,但是用JAVA运行还是无法加载主类
没有加.class
class文件出现了,但是用JAVA运行还是无法加载主类
没有加.class
15206 浏览
非常感谢!
path配对错了
写下你的评论...
谢谢 以解决
C:\Program Files\Java\jdk1.8.0_74
C:\ProgramData\Oracle\Java\\Windows\System32;C:\W%Java_Home%\bin
.%Java_Home%\lib\dt.%Java_Home%\lib\tools.jar
写下你的评论...
写下你的评论...
写下你的评论...
写下你的评论...
写下你的评论...
还是不得行
写下你的评论...
写下你的评论...
你看配对环境那张 有下载的文档
写下你的评论...
我的问题也解决了,我是试着用记事本编译并运行程序的,环境变量配置都正确,但是记事本里不应该有import com.imooc.也就是除了JDK里的包,其他的都不行
请问这是什么意思?
点击展开后面2条评论
写下你的评论...
Copyright (C)
All Rights Reserved | 京ICP备 号-2

我要回帖

更多关于 java编译时找不到文件 的文章

 

随机推荐