装了这么多年jdk,我发现网上很多安装jdk的文章对于某些问题都讲的不够透彻。 我想到如下几点:
1.创建PATH这个
用户变量。 众所周知, windows命令行是不区分大小写的, 变量名也是, windows的
系统变量里已经内置了Path变量, 所以如果在
系统变量里显然没必要新建个PATH变量吧,可以在原有Path里的值里直接添加。而
用户变量里没有Path变量, 所以可以添加个Path变量, 其实无论这个登录的user在哪个变量添加这个Path变量, 保存完配置后, 新开个cmd窗口, 输入path,输出的值里都包含系统变量里的Path值。 所以并不一定非要在用户变量里创建PATH这个环境变量, 直接编辑系统变量里的Path也是可以的。 关于系统变量和用户变量的区别, 这个哥们的文章说的很详细,大家可以看看
http://www.cnblogs.com/zhizouxiao/archive/2012/11/03/2753077.html, 简单说就一句话, 一个user登录系统后他的path会既包括系统变量里的path值也包括他自己创建的用户变量里path的值, 但系认变量path的值还是会被加在用户变量path值的前面。
2.既然在用户变量里添加PATH这个变量, 和编辑系统变量里Path的值不就一样了么, 还有什么可说的? 效果的确是一样, 但对于windows下installer.exe版的JDK 6(包括更高版本)来说, 还真需要注意一点。就是如果是编辑系统变量里Path值, 最好是把JDK和jre bin的路径放到已有值的最前面,别忘了加隔离符;因为installer.exe版的JDK 6安装时回自动拷贝一个java.exe和javaw.exe等到C:\Windows\System32下, 而这个目录就默认存在于系统变量的Path值的最前面, 这就是为什么安装完installer版的jdk, 不用配置任何环境变量, 打开一个cmd窗口直接输入java回车, 就能看到java.exe输出的原因。 而系统会按照path中值的顺序先找到system32下的java.exe,如果你系统里不同路径下有两个版本的jdk, system32下的java.exe和另一个路径下的java.exe(这个被配置在用户变量或系统变量path值的后面)版本高低不一致, 编译和运行千万不能用两个高低不同的版本的jdk. 你也许会在编译时用了高版本的java.exe, 而运行时用了低版本的java.exe, 这样就可能出现bad version class的EXCEPTION. 所以总结一下, 如果你的系统里有高低不同版本的jdk, 千万注意编译时要注意是否用的system32下的java.exe, 而这个java.exe与你期望的运行时版本是否一致。最后建议大家即使在windows上也下载zip的JDK, 这样就可以避免拷贝java.exe到system32下的问题。
3.最后说下网上很多配置jdk是否成功就直接输入java -version.这也是不正确的。前面第二点已经讲了, 从JDK 6以后,windows installer版的jdk默认就拷贝到system32下, 所以不做任何配置显然也是可以有java -version输出的。这并不能作为JDK是否配置成功的标志。JDK配置还包括JRE下的bin和lib, 而这些路径是否配置过显然不能仅以java -version作为标志了。举个例子, 在配置完ant后, 仅配置JDK而没有配置JRE的结果就是, 直接在cmd里输入ant回车就会提示tool.jar找不到。关于JRE和JDK的关系这个哥们的文章讲的很详细, 以后慢慢研究
http://xinklabi.iteye.com/blog/1788780
分享到:
相关推荐
《Java JDK 1.8更新101详解》 Java Development Kit(JDK)是Java编程语言的核心组件,它提供了开发和运行Java应用程序所需的工具和环境。本文将深入探讨JDK 1.8的第101次更新,即"jdk1.8_101.zip",该版本是针对...
OpenJDK 源代码不完整,这很容易想到,在采用 GPL 协议的 OpenJDK 中,SUN JDK 的一部分源代码因为产权的问题无法开放 OpenJDK 使用,其中最主要的部分就是 JMX 中的可选元件 SNMP 部分的代码。因此这些不能开放的源...
在jdk1.5上用spring管理数据,部署到jdk1.4上,说CachedRowSet有问题,寻遍方法,最后得一rowset对jdk1.4里的进行覆盖,得的rowset.jar还需要进行修改,于是修改好,放到项目的lib中,成功!想到需要帮助的人们,...
不知不觉入行也有一年了,这两天在公司上班有空了就自己装了个vmware虚拟机,装了个红帽6.1完全命令行的操作系统,想着搭个公司现在在用的测试环境,没想到中间碰到了很多问题,不过大部分都解决了,现在可以达到...
jdk完整源代码 sun包源 jvm源 n ative关键字修饰的java方法源 rt.jar nio misc 等等 几乎我们能想到的都包含进来了 sun包不太好找jdk\jdk\src\share\classes路径贴出来 供学习使用
2.想到Jbuilder是Java的Swing开发的,应该和系统不应该有太大关系,而且新的JDK1.5.0U14是可以完美兼容Vista的,所以用安装后的JDK1.5.0U14,替换了Jbuilder中自带的JDK1.5.0U03,毕竟都是JDK1.5,应该差别不大,大...
提到Java反编译工具,大家可能首先想到的是JAD (Java Decompiler),它是一款广泛使用的开源工具,支持多种版本的JDK。本压缩包中包含的可能就是一款这样的工具,兼容JDK1.7和JDK1.8,确保在不同环境下都能正常工作。...
1. 安装 JDK,因Scala 是运行在 JVM 平台上的,所以安装 Scala 之前要安装 JDK。 2. 安装 Scala,Scala 有两个版本 2.11.x 和 2.12.x,推荐使用 2.11.x 版本。 3. 安装 Scala 开发工具,主要有两种:Eclipse 和 IDEA...
因为要新建maven工程,需要提前安装好jdk和maven。 第一步:docker search jenkins,找到评星最多的官方镜像,pull后创建容器,没想到无法启动,无奈放弃,选用第二个jenkins/jenkins,此为第一个坑:-( 第二步:...
查看了自己环境的安装版本是j d k 8,而idea环境中的配置是jdk 10,所以会报这个错误! 在电脑中打开 c m d控制台,输入java -version可以看到我们自己的jdk版本。 解决方案 调整项目结构中使用的java版本(File->...
用户的测试机安装的win7,本人用的是 WEBLOGIC8.1 JDK1.4的。 测试时发现时间总是差8个小时,郁闷死。 立马想到时区不对,查看控制面板里时区设置(顺便BS一下win7,控制面板就不能学xp有个经典模式吗?郁闷死),...
最近组长要求我写一个.bat文件实现一键安装(Tomcat、Mysql、Redis、Jdk)的文件。当时很懵,只在抖音看过用它实现一些恶搞别人的视频,当时只觉得很nb,没想到现在自己也能实现……废话不多说,用代码说话!一键...
对Java新手来说,环境变量的配置有些麻烦,笔者用Delphi编写了一个Java环境变量配置程序,说明:操作很方便,先选择路径(这个地方,我没有想到很好的判断是不是jdk的安装路径)然后点击设置按钮就可以设置好路径,...
首先,"jdk api 1.8_google.CHM"是Java Development Kit(JDK)1.8版本的API文档,它是一个非常重要的参考资料。CHM文件是Microsoft编写的HTML帮助文件,包含了JDK 1.8的所有类库、接口、方法和常量的详细描述。在这...
本来想拿学校机房的Android编辑器直接粘到自己电脑上用,发现它的eclipse是32位的,而我的JDK是64位的,于是想到干脆装两个JDK,用C#做一个能够更改环境变量的程序 环境变量是包含关于系统及当前登录用户的环境信息...
整个项目用到的技术有:javaweb基础知识(servlet、jsp),反射,泛型,装饰着模式(其实就过滤器的时候用到了一下),Jquery,ajax,javascript 反正就是写的时候想到什么用的什么。实现的功能有:前台登录注册,前台...