10
回答
Java环境变量中classpath是必须配置吗?
华为云4核8G,高性能云服务器,免费试用   
以前一直以为环境变量中的classpath必须配置,今天发现java环境变量classpath不设置也可以用,例如:打印HelloWorld,而且一时还真没发现不配置就不能使用java的例子,我想问一下什么情况下classpath必须配置??求大神举例回答。
举报
杨汉祥
发帖于4年前 10回/16K+阅
共有10个答案 最后回答: 1年前

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了,相当于已经配了,命令行就需要配置了
--- 共有 1 条评论 ---
杨汉祥IDE中我知道可以不用配,我主要是想测试一下dos里面,发现只配置java_home和path就可以用(运行一般的程序都没问题,他们说jdk会默认在当前目录寻找),查了下有人说必须配置classpath,有人说jdk1.5以后就不用配置了,所以我想问一下有没有一种情况不配置classpath,程序就运行不了了。。 4年前 回复
以前也考虑过这个问题,你自己可以试下。如果配置了classpath后,是否编译的后产生的class文件都在这个路径上产生?如果不配置这个路径是否在当前路径下产生class文件。我只是猜想。
--- 共有 1 条评论 ---
fiaireclasspath是在这里找class,不是在这里生成classpath. 3年前 回复
顶部