mvn -v不是内部或外部命令_mvn -v不是内部或外部命令

(4) 2024-06-14 14:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
mvn -v不是内部或外部命令_mvn -v不是内部或外部命令,希望能够帮助你!!!。

一、前言

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

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

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

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复