命令行mvn打包的时候报错:No compiler is provided in this environment. Perhaps you are running on a JRE

一、前言

这部分是安装Elasticsearch-ik中文分词的时候,用mvn打包报错:

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

在网上百度,大部分是讲解IDE的解决方案,但是我这边是用的命令行,有点坑爹,还是记录一下吧。

二、解决过程

1、错误原因

mvn打包需要jdk的环境,而它自己没有找到jdk的配置目录,所以就报错了

2、解决方案一

      网上的解决方案都是在IDE下解决的,咱们命令行下,出错是因为没有配置JAVA的环境变量,也就是JAVA_HOME的原因。
新增环境变量:JAVA_HOME=C:\Program Files\Java\jre1.8.0_151

3、解决方案二

      在maven目录bin目录下打开mvn.cmd文件在文件第一行输入set JAVA_HOME=C:\Program Files\Java\jre1.8.0_151(此处为你的Jdk所在)

注意: 如果打开cmd闪退,那么就用编辑器打开,直接在第一行加上这句代码。

4、解决方案三

参考:https://blog.csdn.net/xinyuanlu/article/details/82500166

      本质上还是JAVA的环境变量的问题,以上三个方案,都没解决我的问题。不过为什么要把它们写出来呢,因为这几个方案并没有错,是我自己的问题,导致一直不成功

三、解决本地问题

      继续百度,网上的方案还是这几个,那么到底为什么还是不对呢,刚好最新的ES-7.0自带的有JAVAjdk,于是想用自带的jdk试试。

1、设置环境变量JAVA_HOME为新的JDK目录

2、查看当前mvn的执行环境:

mvn -version

E:\elasticsearch-analysis-ik-7.0>mvn -version
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: D:\soft\maven\bin\..
Java version: 1.8.0_151, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jre1.8.0_151
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

      这里显示,使用的JAVA_HOME还是之前的那个。等等,原来的路径指向的是jre1.8.0_151?这是代表我设置的JAVA_HOME的路径一直都是指向的jre
      卧槽,在命令行临时指定下JAVA_HOME试试:set JAVA_HOME=D:\soft\elasticsearch-7.0.0\jdk (PS:这次指向的是JDK)

3、重新执行编译mvn compile

4、最终build success

      这部分怪自己,刚开始不仔细,也不太了解jdkjre的区别,一直以为自己下载到c盘的就是jdk,,最终自己坑了自己。现在设置好jdk路径之后:

世界都安静了,真好

end

  • 46
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁柱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值