【ActiveMQ启动无报错但访问失败 __ jdk8与17在windows同时安装并切换 __ 在IDEA创建SpringBoot项目时如何选择jdk8】

导言:本文章旨在解决3个问题

  1. ActiveMQ启动无报错但访问失败问题;
  2. jdk8与17在windows同时安装时,如何丝滑切换自己所需的jdk版本;
  3. 在IDEA创建SpringBoot项目时如何选择jdk8。

1.ActiveMQ启动无报错但访问失败

1.1 问题导入

本人所安装的是jdk8版本ActiveMQ5.16.6版本,本来一切都是能正常启动运行。

某天却在centos7下启动ActiveMQ时,发现启动无报错但是访问失败

  • 启动时的输出信息:无报错

    [root@localhost]/opt/apache-activemq-5.16.6/bin# ./activemq start
    INFO: Loading '/opt/apache-activemq-5.16.6//bin/env'
    INFO: Using java '/usr/bin/java'
    INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
    INFO: pidfile created : '/opt/apache-activemq-5.16.6//data/activemq.pid' (pid '2635')
    
  • 访问时的结果:访问失败
    在这里插入图片描述

1.2 问题排查

  1. 查看8161端口是否开放:结果为已开放

    firewall-cmd --list-all  //查看开放端口号
    

    在这里插入图片描述

  2. 测试网络是否能ping成功:结果为能ping成功

    ping www.baidu.com  //查看网络是否连通
    

    在这里插入图片描述

  3. 查看ActiveMQ是否启动

    ps -ef|grep activemq|grep -v grep  //方式一:通过activemq名称查看ActiveMQ服务是否启动
    netstat -anp|grep 61616            //方式二:通过端口号查看ActiveMQ服务是否启动
    

    在这里插入图片描述

结论:ActiveMQ服务没有成功启动,导致访问失败

1.3 命中并解决问题

  • ActiveMQ启动无报错,但访问失败。问题大概率是因为版本的不匹配,因为ActiveMQ对JDK版本是有严格要求的。

ActiveMQ官网下载地址:https://activemq.apache.org/activemq-5016006-release

img

  • 查看Windows系统的JDK版本:结果为JDK17版本
    在这里插入图片描述

  • 解决办法:安装对应的ActiveMQ版本,或者改用对应的jdk版本。(个人支持修改对应的jdk版本,可直接按 “2. 如何丝滑地转换jdk版本” 的操作步骤进行修改,即可成功启动ActiveMQ服务)

1.4 新的疑问

  • 我安装的明明是JDK8,为什么现在却是JDK17,是什么时候做出了改变?
  • ActiveMQ 5.16.6版本支持的是jdk8级以上的版本,就算是JDK17也应该能够成功启动ActiveMQ服务才对。
  1. 什么时候偷星换月:默默修改为jdk17

    原来是昨天新建SpringBoot项目不能选择java8,只能选择java17或21。在这期间下载了jdk17以完成SpringBoot项目的创建。(或许下载了高版本的jdk17时,默认修改了系统jdk的classpath路径)

    (注:由于在2023年11月27日更新后,spring.io默认不再支持创建jdk1.8的项目。若想创建SpringBoot项目时选择jdk8,可按 “3.在IDEA创建SpringBoot项目时如何选择jdk8” 操作执行)
    在这里插入图片描述

  2. ActiveMQ 5.16.6版本搭配JDK17为什么不能启动ActiveMQ服务?

    个人觉得:应该是系统同时安装jdk8和jdk17时,系统的classpath路径被修改,启动ActiveMQ 5.16.6版本的ActiveMQ服务时,无法判断选择哪个JDk版本而导致启动失败。以上仅是个人猜想,未做详细研究,但是按照 “2. 如何丝滑地转换jdk版本” 操作执行后,无论使用jdk8还是jdk17,都能成功启动ActiveMQ服务。


2. 如何丝滑地转换jdk版本

思路:通过修改JDK环境变量中的JAVA_HOME,将值改成相应的JDK安装目录,来达到在同一台电脑中安装使用不同jdk版本的效果。

操作步骤:以 jdk8 和 jdk17 为例

  1. 首先新建一个 jdk 文件夹,用来存放不同版本的jdk文件。高版本的jdk最好安装zip版,只需解压配置即可。(如果是exe版本,会导致在配置低版本jdk环境变量时可能不起作用,这个可能是因为在安装jdk某个版本的时候自动将java.exe、javaw.exe、javaws.exe三个文件放到了指定的优先级比较高的系统环境路径下,导致我们的配置失效。)
    在这里插入图片描述

  2. 选择此电脑:右键→属性→高级系统设置→环境变量→系统变量,新建或编辑如下4个系统变量

    CLASSPATH   .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
    

    在这里插入图片描述

  3. 配置下环境,因为先安装了jdk8,再安装jdk17,安装后在path下发现多了以下两个路径

    C:\Program Files\Common Files\Oracle\Java\javapath
    C:\Program Files (x86)\Common Files\Oracle\Java\javapath
    

    在这里插入图片描述

    方法一:将以上的两个环境变量删除即可!

    方法二:或者可以到对应的文件路径,将javapath文件夹的所有内容 (java.exe、javaw.exe、javaws.exe等内容) 进行删除!(如下图,本人已删除过,不再复现此问题情境)
    在这里插入图片描述

  4. 通过修改系统环境变量的JAVA_HOME值,以达到切换使用jdk的效果。

    • 使用jdk8
      在这里插入图片描述

    • 使用jdk17
      在这里插入图片描述


3.在IDEA创建SpringBoot项目时如何选择jdk8

问题导入:由于在2023年11月27日更新后,spring.io默认不再支持创建jdk1.8的项目(算是强制性要求使用高版本的jdk)如下图:
在这里插入图片描述

解决方法:替换Server URL,推荐使用阿里的服务器url来创建项目,地址如下:

https://start.aliyun.com/

在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值