以前一直以为环境变量中的classpath必须配置,今天发现java环境变量classpath不设置也可以用,例如:打印HelloWorld,而且一时还真没发现不配置就不能使用java的例子,我想问一下什么情况下classpath必须配置??求大神举例回答。
classpath 不是必须配置的。
假如你在D盘下有个test.java文件。
你进到d盘后,javac test.java 那么会在当前生成test.class文件。
所以你java test.class会得到相应的结果。
如果你设置了classpath是D:/myclasspath
你将test.class剪切到D:/myclasspath中,你在d路径下执行java test 照样可以得到结果。
因为规则是这样的:你执行java test的时候,先在test.java当前目录找test.class文件找不到再去classpath中找,这里是到D:/myclasspath中找。 ###### 不要被旧书误导了,jdk6以后的版本都不用再配CLASSPATH,而且也不建议去配。
理论上java安装完一个变量都不需要配置,只不过为了命令行敲起来方便,所以通常会把jdk/bin目录下加入到path变量中。JAVA_HOME这个变量的作用是一些基于java开发的工具会用到,比如tomcat,groovy,vertx.....,如果不用这个工具这个变量也可以免了。
不过通常为了方便以后用java开发的小工具,一般都会设置JAVA_HOME,然后把$JAVA_HOME/bin追加到PATH中 ######在IDE中配了jdk就不要classpath了,相当于已经配了,命令行就需要配置了######IDE中我知道可以不用配,我主要是想测试一下dos里面,发现只配置java_home和path就可以用(运行一般的程序都没问题,他们说jdk会默认在当前目录寻找),查了下有人说必须配置classpath,有人说jdk1.5以后就不用配置了,所以我想问一下有没有一种情况不配置classpath,程序就运行不了了。。######没有配过。 感觉不到有什么用。######上次在linux中用ant,必须在classpath中设置dt.jar和tool.jar,要不无法运行。。。######官方说JDK1.5以后不用配置了~ ######以前也考虑过这个问题,你自己可以试下。如果配置了classpath后,是否编译的后产生的class文件都在这个路径上产生?如果不配置这个路径是否在当前路径下产生class文件。我只是猜想。######classpath是在这里找class,不是在这里生成classpath.###### 你要明白classpath是做什么用的,可以Google或者Wiki上去看下,最好了解下classpath的起源等内容 ######1.5之后确实不用配置了######也可以参考下这个 百度搜索:Java环境变量中classpath是必须配置吗
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。