JAVA安装多个JDK版本的问题
软件开发环境配置
使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指导,专门讲解了一下Eclipse开发环境的搭建过程,一是帮助他们尽快的熟悉IDE的使用,二也是保证团队开发环境的一致性(顺便说一下,这点在敏捷开发团队中尤为重要,方便知识传播,提升团队快速响应能力)。
培训的过程中想起了自己当年初涉java时的情景,不免感慨万千啊。
正所谓“工欲善其事必先利其器”,话不多说,赶紧搭吧。
本文主要介绍在windows下搭建eclipse环境的过程,主要包括jdk的安装与配置、tomcat的安装与配置、eclipse的安装与配置以及eclipse常用插件的安装。
一。
jdk安装与配置jdk7于3月份刚刚发布,目前eclipse的最新版本中还没有提供对jdk7的编译支持,所以我们只下载jdk6。
下载地址:/jdk6/选择适合平台的安装文件,windows32下目前最新版本为:jdk-6u25-ea-bin-b03-windows-i586-27_feb_2011.exe默认安装即可,安装完成后要配置环境变量。
比如,我的安装目录为:C:\Program Files\Java\jdk1.6。
环境变量配置如下:XP系统下,右击“我的电脑”--选择“属性”--选择“高级”--点击“环境变量”在“系统变量(S)”中新建:JAVA_HOME:C:\Program Files\Java\jdk1.6新建:CLASS_PATH:.;%JAVA_HOME%\lib编辑:PATH:在最前面加上%JAVA_HOME%\bin;创建环境变量后,打开cmd,输入“java -version”验证是否安装成功。
Java代码1.C:\Windows\System32>java -version2.java version "1.6.0_13"3.Java(TM) SE Runtime Environment (build 1.6.0_13-b03)4.Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)二。
cmd执行Java和javac版本不一致
cmd执行java –version和javac –version显示版本不一致在电脑上安装jdk1.7.0_71并配置好环境变量后检验安装是否成功,于是在cmd执行java –version和javac –version命令,但得到的版本却不一致。
cmd执行java –version显示如图1。
图1 Javacmd执行javac –version显示如图2。
图2 javac现详细分析问题产生的原因及解决办法。
在cmd执行java或javac实际是执行java.exe或javac.exe,当在cmd输入java时系统将按照系统环境变量Path中路径配置查找java.exe所在的路径,若能找到则执行java.exe,若找不到则报告错误。
现在java和javac显示的版本不一致肯定是系统安装多个版本的JDK/JRE,而在系统环境变量Path中配置的java.exe和javac.exe路径不一致所导致。
JRE的bin目录(\JRE\bin)下只有java.exe,而JDK的bin目录(\jdk\bin)下有java.exe和javac.exe。
所以如果我们只在path中配置…\Java\jdk1.7.0_71\bin,那么java和javac的得到版本肯定是一致的。
现将本机的path配置截图如下:图3 环境变量path可以看到是因为系统安装Oracle时配置了JRE路径(Oracle会自带安装JRE),而JRE中包含了java.exe,所以Java –version执行的是C:\ProgramFiles\Oracle\jre\1.3.1\bin\java.exe,而javac –version执行的是D:\Java\jdk1.7.0_71\bin\javac.exe。
解决办法有两种,第一可以把D:\Java\jdk1.7.0_71\bin提前,第二可以把;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin删除,再执行java和javac获得的版本就会一致。
idea 修改编译jdk版本
idea 修改编译jdk版本修改编译JDK版本随着技术的不断发展,软件开发领域也在不断进步。
在Java开发中,Java Development Kit(JDK)是必不可少的工具,它提供了编译、调试、运行Java程序所需的环境和工具。
不同的JDK版本会带来不同的功能和性能改进。
因此,正确选择和使用适合的JDK版本对于开发人员来说至关重要。
一、选择合适的JDK版本在选择JDK版本时,需要考虑以下几个因素:1.1 项目要求:不同的项目可能对JDK版本有特定的要求。
比如,某些项目可能要求使用较新的JDK版本来充分利用新功能和性能改进,而另一些项目可能需要使用较旧的JDK版本以保证与已有的代码和依赖库兼容。
1.2 功能需求:不同的JDK版本可能提供不同的功能和API。
开发人员需要根据项目的需求选择合适的JDK版本。
例如,如果项目需要使用新的语言特性或库,就需要选择较新的JDK版本。
1.3 安全性:JDK版本的安全性也是选择的考虑因素之一。
较新的JDK版本通常会修复一些已知的安全漏洞,提高系统的安全性。
因此,在选择JDK版本时,需要综合考虑安全性和其他因素。
二、编译JDK版本在编译Java程序时,使用正确的JDK版本非常重要。
不同的JDK版本可能会带来不同的编译结果和性能表现。
因此,要确保使用与项目要求一致的JDK版本来编译程序。
2.1 设置环境变量:在编译Java程序之前,需要设置正确的环境变量来指定使用的JDK版本。
通过设置JAVA_HOME和PATH两个环境变量,可以确保使用指定的JDK版本。
2.2 使用命令行工具:在命令行中使用javac命令来编译Java程序。
通过指定正确的JDK版本,可以确保编译结果符合预期。
例如,使用以下命令编译HelloWorld.java文件:```javac -source 1.8 -target 1.8 HelloWorld.java```其中,source参数指定源代码的版本,target参数指定生成的字节码的版本。
java-解决安装JDK12版本后没有JRE的问题
java-解决安装JDK12版本后没有JRE的问题
以前的jdk版本中,只要安装jdk⽂件就会在本地⾃动⽣成jdk和jre两个⽂件,但是在新的jdk12中没有⾃动⽣成jre⽂件。
今天为⼤家讲解,jdk12运⾏后,只有jdk⽬录⽂件,并没有jre⽂件的解决⽅法,那就是通过命令⾏⽅式⼿动⽣成jre
⽅法/步骤:
1. 安装jdk12后只⽣成jdk⽬录,这个时候是没有jre ⽬录的。
jdk12的安装详见经验:win10中如何安装java开发⼯具包JDK
2.
打开win+R打开运⾏窗⼝后,输⼊cmd,打开cmd命令窗⼝
3.
打开命令窗⼝,切换到jdk安装⽬录
命令为:cd 路径
4.
输⼊命令:bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
5.
回车后执⾏,执⾏完成后会跳出命令
6.
再次查看jdk的安装路径,即可看到jre⽂件
7.
进⼊jre⽂件夹,即可看到jre的所有⽂件。
windows安装多个版本的jdk,解决java-version和javac-versio。。。
windows安装多个版本的jdk,解决java-version和javac-versio。
系统先装了jdk1.8 ,环境变量⾥配置的是jdk1.8,java -version 与javac -version 版本⼀致。
然后安装了jdk1.6 ,环境变量java_home 改成了1.6,但是cmd ⾥输⼊java -version 和javac -version
版本就不⼀致,⼀个是java -version 显⽰是1.8,javac -version 是1.6
⽹上很多解决⽅法说得都不明⽩甚⾄错误,⽐如某度就是错误的导向。
下⾯说下jdk的切换⽅式
⾸先我们需要配置三个JAVA_HOME(当然你也可以配置⼀个,每次⼿动切换),classpath和path不需要更改,每次切换只需要更改
JAVA_HOME的值,指向JAVA6_HOME或者JAVA8_HOME
这样之后我们会遇到上⾯Java和Javac版本不⼀致的问题。
解决版本不⼀致⽅法:
把path ⾥%JAVA_HOME%\bin放在path变量的最前⾯
这样就能完美解决windows安装多个版本的jdk的版本不⼀致问题。
ps:更改了环境变量,要重新打开cmd 窗⼝,才会⽣效。
JDK配置问题_多个版本发生冲突的解决
最近升级电脑,把系统更换成了64位系统,所以最近一直在往里面灌软件,java的开发环境也需要重新安装一下(Eclipse开发平台的需要),在安装JDK,设置系统环境变量后,出现了Java无法运行的情况,首先将安装过程简要说一下:1.下载:官网下载最新的JDK(jdk-8u25-windows-x64),进行安装2.设置系统环境变量:计算机属性》高级系统设置》高级》环境变量,页面下方系统变量中新建一个变量名为JAVA_HOME,变量值为jdk安装路径(我的是E:\jdk)的变量还是页面下方的系统变量,找到Path变量,编辑,在变量值最后输入;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;还是系统变量,新加classpath变量,变量值为.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(前面的.表示当前位置,不能省)然后问题就来了:完成后在DOS中输入java,显示:Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'has value '1.8', but '1.7' is required.Error: could not find java.dllError: Could not find Java SE Runtime Environment.但是在DOS中运行javac却是正常的。
读一下出现的问题提示就会发现,电脑是在提示我Registry key中出现了问题,而这不就是注册表吗。
所以我在运行中输入RegEdit,在注册表的HKEY_LOCAL_MACHINE》SOFTWARE》JavaSoft》Java Runtime Envirnoment中找到了1.7和1.8两个版本的JDK,所以预感到问题可能出现在系统中添加的环境变量的java版本和电脑中默认的版本不一致。
JDK版本问题
class file has wrong version 49.0, should be 48.0 问题以及Unsupported major.minor version 49.0有时候会遇到版本不匹配的问题。
错误如下:bad class file: C:\ProgramFiles\Java\jre1.5.0_11\lib\rt.jar(java/lang/Object.class)class file has wrong version 49.0, should be 48.0Please remove or make sure it appears in the correct subdirectory of the classpath.出现这个错误的是因为tomcat/common/lib/ 目录底下tools.jar 的版本, 和Tomcat 选择的JVM 的版本不一致所造成.由于Tomcat/common/lib/ 目录底下tools.jar 的版本是1.4, 而Tomcat 却选择1.5 版本的JVM.所以会出现"class file has wrong version 49.0, should be 48.0" 的error message.当中49.0 即是指Java 的1.5 版本, 而48.0 是指Java 的 1.4 版本.50.0 是指Java 的1.6 版本那为什么会出现tools.jar 的版本和JVM 的版本不符的情况呢?首先要说明, 于tomcat/common/lib/ 目录底下的那个tools.jar 其实不是tomcat 自带的. 其实那是当你安装Tomcat 时, Tomcat 从你指定的JDK 目录底下的lib 目录抄过去的.这个tools.jar 有何用处? 那其实是JDK 本身附有的jar档, 是用来方便我们写Java 程序的(eg. 方便编译Java). 举例说, 平时我们用的javac 命令, 其实本身就是一个由java 写成的程序, 而那正正就是于tools.jar里面.那为什么Tomcat 需要将JDK 的tools.jar 抄去自己那里? 那是因为Tomcat 需要用tools.jar 里面的javac 程序, 去编译我们写好的JSP 档案.可是, 编译的时候, 也需要Java 程序本身需要的library (class files) 才可以. 那么Tomcat 到哪里去找那这些library 呢? 到哪里找, 其实是取决于Tomcat 本身选定哪个JVM, 而这个我们是可以自行到Tomcat Configure里的Java 版面里设定的. Tomcat 是会到你所设定的那个JVM 所属的那个JRE 目录底下的lib 目录找library, 亦即是那个rt.jar 档桉(Java 的library 是在里面的). 但有时候修改后,tomcat在eclipse下启动和startup.bat启动时正常,用tomcat.exe启动时却又出现这错误了这个原因是因为你一台机子上装了两个不同的JDK版本,而系统默认当前版本是更高的1.5版本而tomcat.exe启动时使用的就是系统设置的版本了,也就是1.5了,所以就要将当前版本改为1.4版本的在注册表中修改:HEKY_LOCAL_MACHINE-->SOFTWARE-->JavaSoft-->Java Runtime Environment 中的CurrentVersion改为1.4版本的重启就OK了关于错误Unsupported major.minor version 49.0原因是JDK1.5编译的内容放到了JDK1.4等低版本下设置「Window」->「Preferences」->「Java」->「Compiler」->「JDK Compliance level」->「1.4」即:「窗口」->「首选项」->「Java」->「编译器」->「编译器一致性级别」->「1.4」重新编译发布,OK搞定!。
JAVA版本号的问题——Java版本号与Jdk版本
JAVA版本号的问题——Java版本号与Jdk版本初学Java时便⼀直疑惑Java版本号到底是如何命名的?时常在⽹上看到Java5、Java6、Java7、Java8 (到今天已经到了Java12了,2019.4.5) 这⼀类 “Java X” 的Java版本名称,同时⼜会看到诸如JDK1.5、JDK1.6这中 “JDK1.X” 的JDk叫法。
⼀直以来都在纠结Java以及JDK的规范版本名称到底是如何,知道最近在⼏本书上看到了相关的解释才有点明⽩,现总结在这⾥:⾸先1996年发布了最初版本Java1.0(此前原型为1995年的Oak,因Oak商标已被占⽤后改名为Java),此后为Java1.1、J2SE1.2、J2SE1.3、J2SE1.4、采⽤ 1.X的命名⽅式,直到2004年的JavaOne会议后版本数提升为5.0,这⼀新版本为Java SE5.0(或J2SE5.0,此处存在疑问,⽹上使⽤较多为Java SE5),在2006年Sun公司终结了已经有8年历史的J2SE、J2EE、J2ME的命名⽅式启⽤了今天的 Java SE、Java EE、Java ME 命名⽅式,⽽此后的版本为Java SE6、Java SE7、Java SE8、Java SE9、Java SE10、Java SE11、JavaSE12。
⽽JDK则在 Java1.0 到 Java9 对应每⼀个版本号:JDK1.0、JDK1.2 ... JDK1.8、JDK1.9,Java10以后JDK对应名称为:JDK10、JDK11、JDK12。
时间线如下:下图来⾃《Java核⼼技术》卷1 第2章 2.1.1你已经看到, JDK 是 Java Development Kit 的缩写。
有点混乱的是:这个⼯具包的版本1.2 ~ 版本 1.4 被称为 Java SDK (软件开发包,Software Development Kit )。
在某些场合下,还可以看到这个过时的术语。
在Windows下同时安装多个版本的JDK
在Windows下同时安装多个版本的JDK⽬前主流的jdk都使⽤jdk1.8,但有不少新软件会使⽤更新的jdk如jdk11、jdk14等如何同时在电脑中安装多个版本的jdk就成了⼀个问题安装步骤:1. 安装第⼀个版本的jdk(如jdk1.8)2. 安装第⼆个版本的jdk(如jdk14)3. 安装第……个版本的jdk(如jdk11)4. 配置环境变量1. 配置CLASSPATH:在⾼级系统设置中点击环境变量,在系统变量中新建CLASSPATH环境变量值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; ( ⼀定要注意开头表⽰当前⽬录的.; )点击确定保存2. 配置Path:在⾼级系统设置中点击环境变量,在系统变量中编辑Path:1. %JAVA_HOME\bin%2. %JAVA_HOME\jre\bin%点击确定3. 配置JAVA_HOME:1. 在⾼级系统设置中点击环境变量,在系统变量中新建JAVA_HOMEJAVA_HOME的值我们后续通过调⽤来处理环境变量调⽤值的⽅式是%环境变量名%,因此我们可以使⽤%环境变量名%来替代会变化的路径2. 建议将不同版本的jdk的JAVA_HOME设置为这样的名称:JAVA8_HOME, JAVA14_HOME, JAVA11_HOME3. 将不同版本jdk的JAVA_HOME值⽬录浏览到对应的安装⽬录(如C:\Program Files\Java\jdk1.8.0_202)4. 将唯⼀的JAVA_HOME值设定为要使⽤的jdk版本对应的JAVA_HOME如%JAVA8_HOME%5. 确定保存。
6. 在命令提⽰符中测试。
java -versionjavac -version注意:安装时某些版本的jdk可能会在C:\ProgramData\Oracle\Java\javapath下放置⼏个Java程序,并将其添加到环境变量中的⾸位,如切换jdk版本失败,请删除该环境变量。
jenkins和jdk版本问题
jenkins和jdk版本问题问题:公司业务是⽤的jdk1.7的,但最新版的jenkins ()却只⽀持jdk1.8分析:1.公司业务⽤的jdk1.7不能换,不然影响业务软件兼容性,可能会出问题。
2.可将jenkins换为⽀持jdk1.7的旧版本(好像可⾏的样⼦),实验结果:很多插件都说明只⽀持2.60版本以上的jenkins,导致⼤部分插件安装失败,处理了很久没有搞定,放弃了。
3.系统再安装⼀个jdk1.8的给jenkins专⽤,再修改启动⽂件的jdk路径即可(可⾏)简单实验过程:1.官⽹下载jdk-8u191-linux-x64.tar.gz,安装到/usr/local/java-1.8/jdk1.8.0_191中2.修改jenkins启动⽂件如下:(rpm包安装的jenkins)vim /etc/init.d/jenkinscandidates="/usr/local/java-1.8/jdk1.8.0_191/bin/java/usr/java/jdk1.7.0_75/bin/java/etc/alternatives/java/usr/lib/jvm/java-1.8.0/bin/java/usr/lib/jvm/jre-1.8.0/bin/java/usr/lib/jvm/java-1.7.0/bin/java/usr/lib/jvm/jre-1.7.0/bin/java/usr/bin/java"添加jdk1.8的安装路径进去即可然后登陆页⾯安装即可。
略结果:可⾏,系统原jdk不变,通过源码包安装的⽅式安装jdk1.8版本的再给jenkins指定路径实现。
优点:即不影响原有java项⽬,也能实现jenkins最新版的升级使⽤附:jenkins给不同job配置不同的jdk版本环境1.在jenkins服务器安装并配置好不同版本的jdk。
例:jdk_1.8 :2.然后进⼊jenkins配置界⾯。
java中安装jdk和jre(简单了解)
java中安装jdk和jre(简单了解)快速了解:JDK是整个Java的核⼼,包括了⼀个Java运⾏时环境(JRE)、Java⼯具以及基本的Java类库。
JDK是Sun公司免费提供给软件⼯程师开发java应⽤程序⼀套开发套件。
简单的说JDK(Java Development Kit)有很多帮助开发⼈员进⾏java开发时所⽤到的⼯具,包括编译、调试、运⾏等等命令。
JRE(Java Run )就是在运⾏java应⽤程序时提供⽀持的环境。
JRE在⼀些操作系统中已经预装了,但是JDK却并不⼀定有安装,毕竟不是个个都是java开发⼈员。
所以我们现在要成为java⼯程师,⾸先得先安装并设置好开发环境。
快速配置:1、在Path编辑后⾯加⼊:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意如果加⼊前最后⾯没有;要加⼊;)2、进⾏新建⼀个CLASSPATH:变量名字:CLASSPATH 变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar3、进⾏新建JAVA_HOME:变量名:JAVA_HOME 变量值:本机jdk的路径,⽐如我:C:\Program Files\Java\jdk-10.0.2轻松了解以及详细配置什么是jdk?JDK是学好Java的第⼀步。
不管是你要学习java编程,还是要搭建jsp web开发环境,或者是android开发环境都离不开它。
jdk是什么呢?jdk的是java development kit的缩写,意思是java程序开发的⼯具包。
也可以说jdk是java的sdk。
先来说⼀下jdk的版本,⼀共有三种,标准版,企业版,移动设备版。
⾸先我们进⼊官⽹进⾏查看第⼀进⾏下载如下:或者百度下载:步骤⼀:当我们没有在主页时候,可以单击oracle进⼊主页步骤⼆:进⾏下载这个Trials and Downloads是测试和下载的意思第三步:进⾏进⼊查找java中的jdk第四步:找下载地址第五步进⼊下载:下载完成第⼆进⾏安装:这⾥有安装提⽰,只需要点下⼀步即可完成后进⾏cmd查询 win+R键进⾏运⾏(win键在Ctrl与Alt中间)进⾏cmd进⼊后输⼊java回车执⾏后会出现很多东西,如下图出现这个表⽰已经安装完成删除操作如果安装过的,可以到系统⾥⾯卸载需要卸载两个即可如图:删除完成再进⾏安装即可;进⾏配置环境:第⼀步:我的电脑右键点击属性第⼆步:⾼级系统设置->环境变量->以下针对没有配置过环境变量的系统:1、在Path编辑后⾯加⼊:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(注意如果加⼊前最后⾯没有;要加⼊;)⾸先我们需要查找Path->编辑(有的系统可能有两种格式)第⼀种格式:第⼆种格式:(两种格式都是差不多,可以根据系统进⾏配置) %JAVA_HOME%\bin%JAVA_HOME%\jre\bin2、进⾏新建⼀个CLASSPATH变量名字:CLASSPATH变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar3、进⾏新建JAVA_HOME变量名:JAVA_HOME变量值是不⼀样的,根据你按照时候进⾏查看(推荐点击浏览⽬录,然后进⼊电脑的系统盘[⼀般为C盘],进⼊后看Program Files这个⽂件下,进⼊java⽂件下,选择jdk⽂件夹即可)也可以直接进⼊系统盘查找jdk复制路径放到变量值即可我的根⽬录如下:C:\Program Files\Java\jdk-10.0.2最后进⾏测试:进⼊cmd命令输⼊javac出现该信息说明已经配置成功提⽰:eclipse出现an error has occurred.see the loh file有些安装后出现问题如图是不是eclipse版本太新引起的,我在更新之后也出现了这样的问题,解决⽅法:1,打开eclipse安装⽬录下的eclipse.ini⽂件;2,打开的⽂本⽂件最后添加⼀⾏--add-modules=ALL-SYSTEM3,保存重新打开Eclipse。
安装多个版本JDK后使用时的切换方法总结
安装多个版本JDK后使⽤时的切换⽅法总结前⾔因为刚到新公司,⾃⼰安装了jdk1.7和开发⼯具myeclipse10,但是由于公司项⽬的需要(具体原因不详细描述了),需要使⽤myeclipse6.5和jdk1.6。
于是在切换jdk1.7和jdk1.6之前出现了⼀些⼩障碍,下⾯描述出来以便部分初级程序员和⾃⼰以后处理相类似问题。
具体操作和描述如下1、原本安装了jdk1.7,环境变量也是配置的1.7相关路径,在cmd下输⼊【java -version】后,显⽰【C:\Users\Administrator>java -versionjava 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)】2、下载jdk1.6的版本并安装,并成功安装,更改环境变量⾥⾯的相关路径如下:此时在在cmd下输⼊【java -version】后,还是显⽰【C:\Users\Administrator>java -versionjava 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)】则表⽰jdk版本切换并不成功。
此⽅法修改不成功3、找到控制⾯板,查看⽅式选择⼤图标或者⼩图标,找到java选项并点击进⼊。
然后选择java栏,点击查看,讲jdk1.7的启⽤去掉,并保存:在cmd下输⼊【java -version】后,显⽰【C:\Users\Administrator>java -versionjava 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)】此⽅法修改不成功4、找到⽬录C:\Windows\System32,将java.exe,javaw.exe,javaws.exe删除即可。
JDK环境变量配置,实现多个版本的JDK环境变量任意切换配置(Windows7Windows10)
JDK环境变量配置,实现多个版本的JDK环境变量任意切换配置(Windows7Windows10)1.⾸先在"环境变量-系统变量"的PATH(已存在不⽤新建)⾥追加值。
注意变量值之间⽤";"隔开。
注意原来Path的变量值末尾有没有;号,如果没有,先输⼊;号再输⼊。
如果你的系统是Windows10,就相对⽅便多了,不⽤担⼼这个";"。
变量追加值(windows7下⽤英⽂分号; 隔开其他值),⼀般放在第⼀个PATH %JAVA_HOME%\bin; %JAVA_HOME%\jre\bin;特别需要注意:如果不删除PATH⾥的路径 C:\ProgramData\Oracle\Java\javapath; 或者该路径排在%JAVA_HOME%下的bin路径之前,则会默认使⽤该路径下的JDK版本,⽽%JAVA_HOME%\bin的配置不会⽣效。
解决办法是:把%JAVA_HOME%\bin; ⼿动移动到第⼀位,把%JAVA_HOME%\jre\bin;⼿动移动到第⼆位。
⽽路径C:\ProgramData\Oracle\Java\javapath; 移动到第三位,或者删除该路径。
2.然后在"环境变量-系统变量"⾥新建CLASSPATH变量值CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (注意最前⾯是⼀点)3.然后,例如已安装了jdk1.7、jdk1.8、jdk9,但⽬前只想⽤jdk1.7,那么配置如下:"环境变量-系统变量"配置如下(此时选择使⽤的是jdk1.7):变量值JAVA_HOME %JAVA_HOME7%JAVA_HOME7 C:\Program Files\Java\jdk1.7JAVA_HOME8 C:\Program Files\Java\jdk1.8JAVA_HOME9 C:\Program Files\Java\jdk94.若想⽤jdk1.8,则只⽤修改JAVA_HOME的值为 %JAVA_HOME8%5.若想⽤jdk9,则只⽤修改JAVA_HOME的值为 %JAVA_HOME9%。
Linux安装多个jdk版本进行切换
Linux安装多个jdk版本进⾏切换本⽂为⼤家分享了Linux jdk安装多个版本切换的具体⽅法,供⼤家参考,具体内容如下1. 上传jdk7 和 jdk8 包2. 解压[root@localhost webapps]# tar -zxvf /package/jdk-7u80-linux-x64.tar.gz3. 配置jdk变量 vi /etc/profileexport JAVA_HOME=/package/jdk1.7.0_80export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin4. java -version5. 给jdk1.7设置序列号[xxx@localhost home]$ alternatives --install /usr/bin/java java /package/jdk1.7.0_80 36. 安装jdk1.8[xxx@localhost home]$ alternatives --install /usr/bin/java java /package/jdk1.8.0_124 27.选择jdk对应的数字--切换jdk版本[root@localhost ~]# java -versionjava version "1.7.0_80"Java(TM) SE Runtime Environment (build 1.7.0_80-b15)Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)[root@localhost ~]# alternatives --config javaThere are 3 programs which provide 'java'.Selection Command-----------------------------------------------* 1 /package/jdk1.8.0_121/java2 /package/jdk1.8.0_121/bin/java+ 3 /package/jdk1.7.0_80/bin/javaEnter to keep the current selection[+], or type selection number: 2[root@localhost ~]# java -versionjava version "1.8.0_121"Java(TM) SE Runtime Environment (build 1.8.0_121-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
一台电脑如何安装多个版本的JDK及其说明
⼀台电脑如何安装多个版本的JDK及其说明⼀、安装多个版本的JDK及其说明1.准备多个版本的JDK需要请下载2.安装过程,除了根据需要更改安装路径,其他“傻⽠式”安装(“下⼀步”),各版本都是这样!注:1.为了后期⽅便使⽤,请将所有版本安装到⼀个指定的位置2.安装完后不要再点击安装包,不然安装好的⽂件会被删除!3.设置环境变量(系统属性->环境变量)设置多个⼦JAVA_HONE,JAVA_HOME指向的是JDK的安装路径(安装⼀个JDK时忽略此步骤,JAVA_HOME直接指向JDK的安装路径)设置⼀个主JAVA_HOME(即为你更换jdk版本是所要修改的地⽅)设置PATH ,PATH 环境变量在原来Windows⾥⾯就有,你只需在添加⼀下,使它指向JDK的bin⽬录。
Windows 中的 DOS 操作系统中的 Path 环境变量,当要求系统运⾏⼀个程序⽽没有告诉它程序所在的完整路径时,系统除了在当前⽬录下⾯寻找此程序外,还应到 Path 中指定的路径去找。
所以运⾏java 命令,其实是由系统根据 Path 环境变量路径寻找 java.exe 程序来运⾏。
这样你就可以在控制台下⾯编译、执⾏程序时就不需要再键⼊⼀⼤串路径了。
设置⽅法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin说明:%%引起来的内容是什么意思?其实这⾥是引⽤上⼀步设定好的环境变量JAVA_HOME,你直接写成绝对路径也是可以的。
你可以打开⼀个cmd窗⼝,输⼊echo %JAVA_HOME%来看⼀下你的设置结果。
添加CLASSPATH变量,JDK1.5以上的不需要配置CLASSPATH变量,建议配上,该变量的作⽤是告诉JRE去哪个路径下搜索 .java ⽂件,因为⼀般都是在当前路径下执⾏的,所以在配置CLASSPATH时都会加上点 " . "。
因为编译和运⾏java程序还需要JDK的lib 路径下的 dt.jar 和tools.jar⽂件,所以还得配上这两个jar包。
jdk1.8升级到jdk11出现的问题
jdk1.8升级到jdk11出现的问题1. 下载jdk11安装包.----百度搜的别⼈云盘⾥的2. 安装和1.8的版本差不多3. 环境变量配置 : 将java_home变量的值替换为11的安装地址 . 删除classpath的变量配置 .4. idea中修改项⽬依赖版本4.1 . 修改资源⽂件中的版本信息4.2 . 项⽬根⽬录处右键找到open modules settings.将各⽂件包的依赖版本从8升级到115. 升级后遇到的问题----重点5.1 包sun.misc没有了BASE64Encoder和BASE64Decoder类没有了 . 替代⽅法 :加密类创建Base64.Decoder decoder = Base64.getMimeDecoder();加密⽅法改为 : bytes = decoder.decode(imgStr);解密类创建 : Base64.Encoder encoder = Base64.getMimeEncoder();解密⽅法: String s = encoder.encodeToString(data);5.2. 之前使⽤thymeleaf前端解析组件之后的时候没发现的⼀个问题假如后端接⼝只是作为接⼝使⽤⽽没有响应的页⾯: 则会报 org.thymeleaf.TemplateEngine - [THYMELEAF][http-nio-8082-exec-7] Exception processing template "webSocket/sendMessage": An error happened during template parsing (template: "class path resource [templates/webSocket/sendMessage.html]")页⾯校验异常 .这⾥解决⽅案也很简单: 就是在接⼝处加上注解@ResponseBody声明该接⼝返回的是⼀个对象即可。
IREPORT问题解决
说明:当使用ireport建立javabeans数据源时,提示The method doen''t return a valid array or java.util.Collection,此时无法在ireport工具中进行预览,可以通过servlet在网页中显示。
网上查找半天没有解决方案,按提示说的,该方法返回的不是一个数组,但是改成返回数组后,test又提示not found,当时泪奔。
然后检查代码发现都没问题,在排查支持环境,发现jdk安装了多个(1.6和1.8),虽然环境变量配置的是1.6的版本。
此时把jdk全部卸载后,重装jdk1.6版本问题解决。
环境:ireport5.6.0Jdk1.6 32位版本(注意ireport5.6不支持jdk1.8,会导致无法打开工具)问题描述:新建JavaBeans set data source数据源,点击test时提示The method doen''t return a valid array or java.util.Collection解决方法:在取数据源的方法中,不要返回JRDataSource类型,返回数组(list...等)类型后,重试即可public class FillDataSource {public static List PieCostControl() {成功!List Datas = new ArrayList();return Datas;失败!public class DataSource implements JRDataSource{}return new DataSource(Datas);}}注意:当使用数组类型,提示没有数据not found时,检查是否安装了多个jdk版本(本人测试时删除所有JDK后,重新安装jdk1.6版本问题解决)。
Java编程常遇到的问题分析及解决
Java编程常遇到的问题分析及解决1.Java编程技术中汉字问题的分析及解决在基于Java语言的编程中,我们经常碰到汉字的处理及显示的问题。
一大堆看不懂的乱码肯定不是我们愿意看到的显示效果,怎样才能够让那些汉字正确显示呢?Java语言默认的编码方式是UNICODE,而我们中国人通常使用的文件和数据库都是基于GB2312或者BIG5等方式编码的,怎样才能够恰当地选择汉字编码方式并正确地处理汉字的编码呢?本文将从汉字编码的常识入手,结合Java编程实例,分析以上两个问题并提出解决它们的方案。
现在Java 编程语言已经广泛应用于互联网世界,早在Sun公司开发Java 语言的时候,就已经考虑到对非英文字符的支持了。
Sun 公司公布的Java 运行环境(JRE)本身就分英文版和国际版,但只有国际版才支持非英文字符。
不过在Java 编程语言的应用中,对中文字符的支持并非如同Java Soft 的标准规范中所宣称的那样完美,因为中文字符集不只一个,而且不同的操作系统对中文字符的支持也不尽相同,所以会有许多和汉字编码处理有关的问题在我们进行应用开发中困扰着我们。
有很多关于这些问题的解答,但都比较琐碎,并不能够满足大家迫切解决问题的愿望,关于Java 中文问题的系统研究并不多,本文从汉字编码常识出发,分析Java 中文问题,希望对大家解决这个问题有所帮助。
汉字编码的常识我们知道,英文字符一般是以一个字节来表示的,最常用的编码方法是ASCII 。
但一个字节最多只能区分256个字符,而汉字成千上万,所以现在都以双字节来表示汉字,为了能够与英文字符分开,每个字节的最高位一定为1,这样双字节最多可以表示64K格字符。
我们经常碰到的编码方式有GB2312、BIG5、UNICODE等。
关于具体编码方式的详细资料,有兴趣的读者可以查阅相关资料。
我肤浅谈一下和我们关系密切的GB2312 和UNICODE。
GB2312 码,中华人民共和国国家标准汉字信息交换用编码,是一个由中华人民共和国国家标准总局发布的关于简化汉字的编码,通行于中国大陆地区及新加坡,简称国标码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文章分类:Java编程
我的机器上最开始安装的是 jdk1.6 ,后来因为工作需要又安装了 jdk1.4 。但是,环境变量我并未更改,还是指向 jdk1.6 的路径的。可是,在 cmd 窗口输入 java -version 却得到是 1.4.2 。
查询环境变量:
相关问题可以见:
/zhyiwww/archive/2007/01/16/94235.html
/ybyb14/archive/2007/05/09/1602230.aspx
一 般地,当在系统中装了两套或多套版本的 Java2 SDK ,后面安装的 Java2 SDK 会将自己带的 java.exe 和 javaw.exe 拷贝到 %SystemRoot%\system32 目录下,从而覆盖先前版本的 java.exe 和 javaw.exe ,并且在注册表中改写 CurrentVersion 为后安装的版本。 所以建议在安装 Java2 SDK 前,先卸载以前安装的版本。
以下是在我在 系统中安装多个版本 JDK 的体验:
1 、安装 JDK1.5 以上版本:这可以保证任何版本的 ECLIPSE 都可以安装(否则如果安装 JDK 为 1.3 而 ECLIPSE 为高版本的会提示 JDK 版本低,安装不了;有的如果先安装了高版本的 JDK ,但一段时间后卸载了高版本的 JDK ,那么电脑上只有低版本的 JDK 和高版本的 ECLIPSE ,则运行 ECLIPSE 时只会看到起动界面,而后消失)。
2 个设置完全是一样,都是指向 1.6 。
为了搞清楚问题的原因,通过查询相关的资料,原来是这样的:
JDK 在安装的过程当中将在注册表会生成如下 3 个项目:
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in
2 、安装 ECLIPSE ,在安装了高版本的 JDK 后,一般 ECLIPSE 安装没有问题
3 、视情况而定,看你要运行的程序是哪个 JDK 的(有的程序是之前开发的使用的 JDK 版本可能是 1.3 的),如我现在要运行 JDK1.3 下的程序,我会
( 1 )从别的电脑上拷贝已安装好的 JDK1.3 文件夹
( 2 )将 PATH , CLASSPATH 指该文件夹目录
( 3 ) ECLIPSE\WINDOW\PREFERENCES\JAVA\INSTALLED JRES\ 在里面添加并勾选 JDK1.3 ,并勾除 JDK1.5 的。
( 4 )将 ECLIPSE\WINDOW\PREFERENCES\JAVA\COMPILER 中的 compliance 设为 1.3 的版本即可。(如果选 1.5 可能会在命令环境编译正确,但 eclipse 报错:说 ng.UnsupportedClassVersionError could not found main class ),还有可能出错的就是在 eclipse 下默认包时编译正错,但使用自己创建的包时编译其中的类失败。
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\a Runtime Environment
同 时, JDK 安装程序将会把 java.exe , javaw.exe , javareg.exe 这 3 个可执行文件拷贝 到 %SystemRoot%\system32 目录下,由于 %SystemRoot%\system32 被操作系统缺省的设置为最高优先权的 PATH 搜索 路径,因此可保证用户在命令行任何目录下可运行 java.exe 来启动 JVM 。
1. 我的电脑 -> 属性 -> 高级 -> 环境变量
2. 系统环境变量 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment)
当前用户环境变量 (HKEY_CURRENT_USER\Environment)
has value '1.6', but '1.4' is required.
Error: could not find java.dll
Error: could not find Java 2 Runtime Environment.
所以,不能简单的修改注册表的 CurrentVersion 值来达到更改运行的 JRE 。若人为的修改 CurrentVersion ,会使得不同版本的 java.exe 加载与己版本不符的 java.dll 及 jvm.dll ,将引起难以预料的后果!
查询 HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment 得知 CurrentVersion=1.4 。 于是我手动将它修改为 1.6 后,然后运行 java -version 得到以下结果:
Registry key 'Software\JavaSoft\Java Runtime Environment\