如何设置Java环境变量在Windows(类路径)?
当前回答
Java SE Development Kit 8u112, 64位Windows 7或Windows 8
设置以下用户环境变量(==类型为用户变量的环境变量)
JAVA_HOME: C:\Program Files\Java\ jdk1.8.0_112 Jdk_home: % java_home % JRE_HOME: %JAVA_HOME%\jre 类路径:.;%JAVA_HOME%\lib 路径:your-unique-entries;%JAVA_HOME%\bin(确保较长的your-unique-entries不包含对其他Java安装文件夹的任何其他引用。
64位系统的Windows用户注意:
Progra~1 = 'Program Files'
Progra~2 = 'Program Files(x86)'
注意,这些环境变量派生自“根”环境变量JAVA_HOME。这使得在更新JDK时可以很容易地更新环境变量。只需将JAVA_HOME指向新的安装。
有一篇博文解释了所有这些环境变量背后的基本原理。
可选的建议
Add a user environment variable JAVA_TOOL_OPTIONS with value -Dfile.encoding="UTF-8". This ensures that Java (and tools such as Maven) will run with a Charset.defaultCharset() of UTF-8 (instead of the default Windows-1252). This has saved a lot of headaches when wirking with my own code and that of others, which unfortunately often assume the (sane) default encoding UTF-8. When JDK is installed, it adds to the system environment variable Path an entry C:\ProgramData\Oracle\Java\javapath;. I anecdotally noticed that the links in that directory didn't get updated during an JDK installation update. So it's best to remove C:\ProgramData\Oracle\Java\javapath; from the Path system environment variable in order to have a consistent environment.
其他回答
JDK安装说明详细解释了如何针对不同版本的Windows设置PATH。
通常不应该设置CLASSPATH环境变量。如果不设置,Java将在当前目录中查找类。您可以在java或javac中使用-cp或-classpath命令行开关。
在Windows 7操作系统中,右键单击“计算机->属性->高级系统设置”;然后在高级选项卡中,单击环境变量…->系统变量->新增....
将新的系统变量命名为JAVA_HOME,值为C:\Program Files\Java\ jdk1.7.0_79(根据JDK安装路径的不同而不同)。
然后选择Path系统变量并单击Edit....保持变量名为Path,并附加C:\Program Files\Java\ jdk1.7.0_79\bin;或% JAVA_HOME % \ bin;(两者意思相同)到变量值。
完成上述更改后,请尝试以下步骤。如果没有看到类似的结果,请重新启动计算机再试一次。如果仍然不工作,你可能需要重新安装JDK。
打开Windows命令提示符(Windows key + R -> enter cmd -> OK),检查以下内容:
java -version
你会看到这样的东西:
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
然后检查以下内容:
javac -version
你会看到这样的东西:
javac 1.7.0_79
请记住,当您将java/javac与-cp、-classpath或-jar参数之一结合使用时,将忽略%CLASSPATH%环境变量。在Netbeans/Eclipse/IntelliJ等IDE中,它也会被忽略。它只在使用java/javac时使用,没有上述任何参数。
对于JAR文件,类路径将被定义为清单中的类路径条目。mf文件。它可以用分号分隔,并相对于JAR文件的根来定义。
在IDE中,你有所谓的“构建路径”,它基本上是在编译时和运行时都使用的类路径。要添加外部库,您通常将JAR文件放到项目的lib文件夹中(可以是IDE预先创建的,也可以是自定义创建的),该文件夹添加到项目的构建路径中。
为了部署,最好准确地设置类路径并保持环境清晰。 或者at *.bat (linux也是一样的,但是变量符号是正确的):
CLASSPATH="c:\lib;d:\temp\test.jar;<long classpath>"
CLASSPATH=%CLASSPATH%;"<another_logical_droup_of_classpath"
java -cp %CLASSPATH% com.test.MainCLass
或者在命令行或*.bat(对于*.sh也是),如果类路径id不是很长:
java -cp "c:\lib;d:\temp\test.jar;<short classpath>"
Windows:
Right click on 'My Computers' and open 'Properties'. In Windows Vista or Windows 7, go to "Advanced System Settings". Else go to next step. Go to 'Advanced Tab' and click on Environment Variables button. Select 'Path' under the list of 'System Variables', and press Edit and add C:\Program Files\java\jdk\bin after a semicolon. Now click on 'new' button under system variables and enter 'JAVA_HOME' as variable name and path to jdk home directory (ex. 'C:\Program Files\Java\jdk1.6.0_24' if you are installing java version 6. Directory name may change with diff. java versions) as variable_value.
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- 在Jar文件中运行类
- 带参数的可运行?
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作
- 在Java流是peek真的只是调试?
- Recyclerview不调用onCreateViewHolder
- 将JSON字符串转换为HashMap