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
自带的有JAVA
的jdk
,于是想用自带的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
这部分怪自己,刚开始不仔细,也不太了解jdk
和jre
的区别,一直以为自己下载到c盘的就是jdk,,最终自己坑了自己。现在设置好jdk
路径之后:
世界都安静了,真好
end
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章