设置java环境变量老是出错可能是什么问题 我不太了解设置环境变量是要做甚,全部照搬网页上的,但是总是不对。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如你在命令行输入javawindows怎么知道要执行那个程序呢? 于是他就要在PATH变量中搜索一下所以你要做的就是把java.exe等程序文件的目录(jre\bin)放到PATH变量中PATH变量又是怎么组成的呢? 他是一堆路径,用分号分割的,搜索的时候,就是挨个的根据这些路径找程序 贴出来呗,cmd里面打path,回车之后都有什么? 一.设置环境变量1.设置JAVA_HOME 变量值:D:\jdk1.5.0_15\bin2.设置PATH 这个变量已经存在,只需要添加 D:\jdk1.5.0_15\bin 即可3.设置ClassPath 变量值:.;D:\jdk1.5.0_15\lib\tools.jar;D:\jdk1.5.0_15\lib\dt.jar (.;一定要设置上)注意:如果使用1.5以上版本的JDK,完全可以不用设置CLASSPATH环境变量,也可以正常编译和运行Java程序,当然,即使使用JDK1.5以上版本,也可以设置CLASSPATH环境变量,一量设置了该环境变量,JRE将会按该环境变量指定的路径来搜索Java类。二.设置环境变量的作用1,设置JAVA_HOME: (1).为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串; (2).归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃! (3).第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题.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文件! 设置CLASSPATH中的dt.jar和tools.jar,因为这些jar包可能在编译运行java类中用到,举个例子:假设A.java文件中用到了 dom4j.jar 这个包,这个包在D盘下,如果运行 javac A.java会出错,因为找不到dom4j.jar包,在环境变量CLASSPATH中添加上jar包的路径 D:/dom4j.jar,再次运行 javac A.java 和java A 就不会出错了。 如果你不想将D:/dom4j.jar放到环境变量中,可以执行javac -classpath D:/dom4j.jar; A.java 编译出A.class, 执行java -classpath D:/dom4j.jar; A(一定要有;号) 可以运行 A.class得出结果,当需要引入多个jar包时,将所有jar包罗列出来 用; 号隔开即可,例如javac -classpath D:/dom4j.jar;D:/log4j.jar; A.java3,设置PATH: 道理很简单, 你想在任何时候都使用%JAVA_HOME%\bin\java 等来执行java命令吗, 当然不会, 于是, 你可以选择把 %JAVA_HOME%\bin添加到PATH路径下, 这样, 我们在任何路径下就可以仅用java来执行命令了.(当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序, 并且执行 PATH=D:\Java\android-sdk-windows\platform-tools;D:\Java\android-sdk-windous\tools;D:\Java\jdk1.7.0_15\bin;D:\Java\jre7\bin;D:\Java\jdk1.7.0_15\jre\bin;D:\Java\android-sdk-windows\platform-tools;D:\Java\android-sdk-windows\tools\;D:\Java\jdk1.7.0_15\bin;D:\Java\jre7\bin;D:\Java\jdk1.7.0_15\jre\bin; class path 早在JDK1.2之后就无需再配置。只需要配置一个即可:path: C:\Program Files (x86)\Java\jdk1.6.0_10/bin搞定。 那我是应该把之前的设置都删了(其实我之前设置了path,classpath,java——home,android-sdk-home,java-jre-home,jre-home),只设置一个path变量? java或计算机的最小单位是字节吗 org.apache.http请求较多数据出错 关于JAVA中判断特定位置后面的字符串的问题 Scanner 的hasNext(pattern)为什么是返false? 关于使用JFrame实现启动画面的问题 j2se如何旋转图片任意角度? 想学习JAVA,不知道怎么开头! 监控文件目录的变化 关于异常的一些小问题…… 我在命令提示符下 javac c:\myfirstprogram.java java中public static void main(String arg[])是不是固定形式 Java 服务端
windows怎么知道要执行那个程序呢? 于是他就要在PATH变量中搜索一下
所以你要做的就是把java.exe等程序文件的目录(jre\bin)放到PATH变量中PATH变量又是怎么组成的呢? 他是一堆路径,用分号分割的,搜索的时候,就是挨个的根据这些路径找程序
(1).为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;
(2).归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!
(3).第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题.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文件! 设置CLASSPATH中的dt.jar和tools.jar,因为这些jar包可能在编译运行java类中用到,举个例子:假设A.java文件中用到了 dom4j.jar 这个包,这个包在D盘下,如果运行 javac A.java会出错,因为找不到dom4j.jar包,在环境变量CLASSPATH中添加上jar包的路径 D:/dom4j.jar,再次运行 javac A.java 和java A 就不会出错了。 如果你不想将D:/dom4j.jar放到环境变量中,可以执行javac -classpath D:/dom4j.jar; A.java 编译出A.class, 执行java -classpath D:/dom4j.jar; A(一定要有;号) 可以运行 A.class得出结果,当需要引入多个jar包时,将所有jar包罗列出来 用; 号隔开即可,例如javac -classpath D:/dom4j.jar;D:/log4j.jar; A.java
3,设置PATH:
道理很简单, 你想在任何时候都使用%JAVA_HOME%\bin\java 等来执行java命令吗, 当然不会, 于是, 你可以选择把 %JAVA_HOME%\bin添加到PATH路径下, 这样, 我们在任何路径下就可以仅用java来执行命令了.(当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序, 并且执行
只需要配置一个即可:
path: C:\Program Files (x86)\Java\jdk1.6.0_10/bin
搞定。