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

命令行mvn打包的时候报错:No compiler is provided in this environment. Perhaps you are running on a JRE一 前言这部分是安装 Elasticsearc ik 中文分词的时候 用 mvn 打包报错 Nocompileris Perhapsyouar 在网上百度 大部分是讲解 IDE 的解决方案 但是我这边是用的命令行 有点坑爹 还是记录一下吧 二 解决过程 1 错

一、前言

这部分是安装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、解决方案一

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/

      本质上还是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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231893.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号