知识混子的博客 

JDK-11与Eclipse配置

by 知识混子


Posted on 星期四 2019年10月31日 at 12:24下午 in IT技术


一、系统状态

  • Windows 10 pro 更新到最新版
  • 已安装JDK 1.8 update 181
  • 最新版Eclipse 2019-09,Maven和Git等用的都是Eclipse内置的,均工作正常
  • Tomcat 8.5 可自己启动也可以与Eclipse 集成启动

二、安装JDK-11之后遇到的问题

  • 无论如何设置系统变量,删除programdata下的javapath等,命令行 java -version 都显示1.8版本。卸载JDK 1.8后问题解决。
  • Tomcat 8.5无法启动,安装新的Tomcat 9.0.27之后,可自己启动,但与Eclipse集成无法启动。

三、全新安装

解决问题的方法很简单,卸载JDK 1.8和JDK-11,删除Eclipse 和 Tomcat,全部从头安装。

安装包:jdk-11.0.5_windows-x64_bin.exe,eclipse-jee-2019-09-R-win32-x86_64.zip,apache-tomcat-9.0.27-windows-x64.zip

1、运行jdk-11.0.5_windows-x64_bin.exe即可安装,选择安装路径D:\java\jdk-11.0.5(默认安装到C:\program files\java路径下,因路径名有空格,在命令行下输入不方便等原因,选择了一个纯英文无空格的路径)

2、设置系统变量:JAVA_HOME为D:\java\jdk-11.0.5,PATH追加%JAVA_HOME%\bin,CLASSPATH为.(英文句号)
不需要设置JRE_HOME,CLASSPATH里的 . 表示当前路径,如果不设置的话,(Windows和Linux)经常会遇到莫名其妙的java.lang.ClassNotFound错误。
dt.jar和tools.jar在JDK-11中已移除,故在CLASSPATH中无需设置。

3、生成JRE,这一步没有必要。右键左下角Windows图标,选择“Windows PowerShell (管理员)",从命令行进入jdk-11上一级目录。
运行:jdk-11.0.5\bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre-11.0.5
jre-11.0.5.png
与网上其他文章稍有区别:使用PowerShell(管理员)代替CMD管理模式,从jdk-11.0.5上一级目录执行命令,生成的jre-11.0.5与JDK在同级目录下(与旧版本的结构一样)。
JDK-11不提供JRE,我觉得开发环境、服务器部署有JDK就行了,需要JRE的情况就是发布桌面应用、嵌入式应用等时打包JRE与程序一起发布。

4、解压eclipse-jee-2019-09-R-win32-x86_64.zip到D:\eclipse目录下即可使用。上一步骤不需要生成JRE,Eclipse会自动找到JRE system library [jdk-11.0.5]

5、解压apache-tomcat-9.0.27-windows-x64.zip到D:\java\apache-tomcat-9.0.27下即可使用,自己startup.bat没问题。
到Eclipse里新建local server,选到上面tomcat9的安装目录即可,从Eclipse里启动Tomcat正常。
eclipse-tomcat9.png
Tomcat 8.5 修改设置应该也能在JDK-11下与Eclipse集成,算了。

四、总结

1、JDK-11是LTS长期支持版,有很多新特性尤其是HotSpot VM,值得一试。

2、安装JDK-11后可能会碰到兼容性问题,懒得去一一解决,就把相关软件都升级到最新版,从头安装。

3、在Windows下安装,设置系统变量很重要。不需要JRE了,转变思想。

4、Eclipse里原来的java项目、java web项目、Springboot项目、Maven项目都没有影响,如果有错误或警告,设置一下Build Path就都好了。
唯一受影响的就是JavaFX不再包含在JDK中,独立成openjfx了,原来的JavaFX项目要迁移。



No one has commented yet.

Leave a Comment

HTML语法: 禁用