很奇怪,不用设置CLASSPATH也可已编译Java文件 我的环境变量根本就没有设置CLASSPATH,可是我仍能够编译Java文件,并且还能够执行,这是怎么回事,几乎每本Java入门级书籍都介绍要设置CLASSPATH,但我这种情况把我搞晕了,请大家指点。另外我如果设置 CLASSPATH=%CLASSPATH%;D:\JavaSource 是不是在任何目录下就可以执行JavaSource中的Java源程序了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 恩,差不多,但是你路径要设置对,最好还是设置一下JDK的环境,随着jdk的版本不段更新,给用户带来更多的体验。。给学习java的入学者省了很多麻烦。 你试试运行一个带opensource的lib然后不用指定classpath的example给我看看? 你用的是不是jdk1.6呢?据说jdk1.6不用设置classpath就可以编译文件。不过我猜测这不过是classpath赋了一个初值而已,如classpath=.;%JAVA_HOME%\lib因为从java.exe很容易找到java_home变量的值是多少,当前目录更简单就是一个"."。不过如果你依赖于一个普通的jar文件时,还是需要指定classpath的。 JDK 5 及以上的版本不需要设置 Java 编译时的 classpath 了。就在 path 里设一下 JDK 的 bin 目录就可以了。 设置好了变量,在DOC下可以运行JAVA程序 的确是的,但是如果在ClASSPATH中有一个和JavaSource目录中同名(包名和类名都相同)的一个类时,java会执行先找到的那个,容易产生错误 你是不是使用的什么工具已经自己设置好了?比如netbeans就不用设置classpath 我用的是Jdk1.5,如下图片,这是咋回事 lz虽然本意说明白了,但是标题--个人感觉不准确.(以下观点,依据的java环境是jdk1.5版本及其以前)设置classpath跟编译无关.(java程序编译,是设置path).classpath是和程序运行有关.jvm运行java程序有两个规则:1>classpath 告诉java解释器(jvm):(jvm)通过这个classpath路径去运行编译好的程序.2>若classpath没有设置或通过classpath没有找到你要运行程序,那么它就会沿"当前运行的路径"找程序.所谓当前运行路径:假设你编译好的文件JavaTest.class放置在D:\JavaSource .那么当你运行命令像这样时D:\JavaSource java JavaTest (基于运行第2>规则)就能运行.这就是lz为什么"环境变量根本就没有设置CLASSPATH,可是我仍能够编译Java文件,并且还能够执行"的原因如果理解"运行java程序两个规则"那么lz最后一个疑问就简单了:只要运行的java程序(如j1.class;j2.class .......)都放在D:\JavaSource目录下.那么"在任何目录下都可以执行JavaSource中的Java源程序"(基于运行规则1>) 大量数据去重哈希函数算法,求帮助 求 swing美化包和主题包 组件技术意味着什么? 请问把十进制数12345转为16进制数并打印, 程序该怎么写? Java: 这种菜单选择 怎么处理? 为什么没有打印出来 2个jtree,如何把第二个jtree下面的子节点加入第一个jtree下面,求效率高的方式。 怎样把没有实现Serializable的类的实例存放到文件? 紧急救命啊:jsp页面怎么传送一个字符串给applet啊,后天要答辩了啊 请问,在java里如何实现一个函数返回多个值?能举个例子吗?谢谢! jsp中 java.lang.NoClassDefFoundError问题处理 system
就在 path 里设一下 JDK 的 bin 目录就可以了。
java会执行先找到的那个,容易产生错误
设置classpath跟编译无关.(java程序编译,是设置path).classpath是和程序运行有关.jvm运行java程序有两个规则:1>classpath 告诉java解释器(jvm):(jvm)通过这个classpath路径去运行编译好的程序.2>若classpath没有设置或通过classpath没有找到你要运行程序,那么它就会沿"当前运行的路径"找程序.所谓当前运行路径:假设你编译好的文件JavaTest.class放置在D:\JavaSource .那么当你运行命令像这样时D:\JavaSource java JavaTest (基于运行第2>规则)就能运行.这就是lz为什么"环境变量根本就没有设置CLASSPATH,可是我仍能够编译Java文件,并且还能够执行"的原因如果理解"运行java程序两个规则"那么lz最后一个疑问就简单了:只要运行的java程序(如j1.class;j2.class .......)都放在D:\JavaSource目录下.那么"在任何目录下都可以执行JavaSource中的Java源程序"(基于运行规则1>)