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

2023-10-27

一、前言

这部分是安装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自带的有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

原文链接:https://blog.csdn.net/LJFPHP/article/details/89341345

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 全局注册组件

    1 首先在 main js 项目入口文件中 导入要全局注册的组件 import 2 其次要创建Vue实例 createApp 3 使用 实例名 component 方法全局注册组件 两个参数 4 在其他组件中 直接以标签的形式 使用注册的全
  • End of startup status:LOW

    End of startup status LOW 解决方案 加一条约束 set property BITSTREAM CONFIG UNUSEDPIN Pullup current design
  • 【Nginx系列】- 初识Nginx

    目录 第一印象 一 提供HTTP服务 二 提供反向代理 三 提供邮件代理 总结 第一印象 Ngxin是由俄罗斯人 戈尔 赛索耶夫使用C语言编写的高性能Web服务器 它可以做什么 1 提供HTTP服务 2 反向代理服务 3 邮件代理服务 PO
  • linux xfs和ext4的区别

    centos7 0开始默认文件系统是xfs centos6是ext4 centos5是ext3 ext3和ext4的最大区别在于 ext3在fsck时需要耗费大量时间 文件越多 时间越长 而ext4在fsck时用的时间会少非常多 ext4是
  • 区域和检索 - 数组不可变——前缀和法的实践

    一 题目 给定一个整数数组 nums 求出数组从索引 i 到 j i j 范围内元素的总和 包含 i j 两点 二 解析 题目很简单 如果直接暴力法 即存储数组 nums的值 每次调用 sumRange 时 通过循环的方法计算数组 nums
  • 01预习-软件缺陷基础 窗体顶端  1单选(1分)  编码阶段产生的错误由()检查出来的。  A集成测试 B有效性测试 C单元测试 D系统测试  2单选(1分)  修复软件缺陷费用最

    01预习 软件缺陷基础 窗体顶端 1单选 1分 编码阶段产生的错误由 检查出来的 A集成测试 B有效性测试 C单元测试 D系统测试 2单选 1分 修复软件缺陷费用最高的是 阶段 A发布 B编写代码 C设计 D编制说明书 3单选 1分 经验表
  • k8s解析--Pod、Deployment、Service

    一 概念介绍 原文地址 1 Pod Kubernetes 使用 Pod 来管理容器 每个 Pod 可以包含一个或多个紧密关联的容器 Pod 是一组紧密关联的容器集合 它们共享 PID IPC Network 和 UTS namespace
  • 助理电子工程师第二个月的实习总结,问题很多的一个月

    年后因为疫情博主等到3月6号才去上班实习 到现在算第二个月吧 这一个月感觉做了很多事情 不像是第一个月一样只是打打杂 画画大佬项目的PCB 了解公司的产品 这个月实际去做项目 出了不少的问题 心情很复杂 甚至想过被炒鱿鱼什么的 还好调节过来
  • SpringBoot自动配置原理

    文章目录 一 SpringBoot自动配置简介 二 SpringBoot自动配置实现原理 一 SpringBoot自动配置简介 SpringBoot相对于Spring新增了自动配置 也就是对一些常用组件进行一些默认的配置 省略了WebMvc
  • 程序框架-输入控制模块

    输入控制模块 用到之前的事件中心模块和公共Mono模块 核心利用观察者设计模式进行事件的分发与注册 InputMgr脚本 输入控制功能模块通过MonoMgr脚本创建Update方法 在通过EventCenter触发事件
  • 泛微E-Mobile 6.0存在命令执行漏洞

    一 漏洞简介 泛微E Mobile 6 0爆出存在命令执行漏洞的问题 现在已经确认了这个漏洞可以被攻击者利用 在某些情况下 用户的输入可能被直接传递给底层操作系统的命令执行函数 攻击者可以通过在输入中插入特殊字符或命令序列来欺骗应用程序将其
  • 关于后台列表,跳转详情和编辑页面

    后台管理系统 从列表跳转详情页面的常规操作 一般新增 编辑和详情页面是共用的 但是可能详情是禁止编辑的 点击编辑按钮之后页面又要可以编辑 一般情况下 页面初始化 是否能够编辑 是通过路径上的pageType来判断 如 xxxxx xxxxx
  • RealityCapture照片扫描建模流程

    RealityCapture照片扫描建模大概有这么几步 拍摄照片 调整照片 导入照片进软件 然后根据照片生成点云 然后对点云范围进行调整 然后根据最终点云效果生成模型 然后对模型修整并进行简化 毕竟他生成的模型面数过大 也回有一些破面之类的
  • STM32F103+NRF24L01通道配置之多发一收

    STM32F103 NRF24L01通道配置之多发一收 准备材料 让我们开始吧 准备材料 1 NRF24L01模块 3 2 STM32F103C8T6单片机的最小系统模块 3 3 正点原子的例程 实验33 无线通信实验 让我们开始吧 下面只
  • 从封装变化的角度看设计模式——组件协作

    什么是设计模式 要了解设计模式 首先得清楚什么是模式 什么是模式 模式即解决一类问题的方法论 简单得来说 就是将解决某类问题的方法归纳总结到理论高度 就形成了模式 设计模式就是将代码设计经验归纳总结到理论高度而形成的 其目的就在于 1 可重
  • 网页打开时都发生了什么?我被吓着了

    内容参考自网页打开时都发生了什么 我被吓着了 在浏览器里输入网址或者点击链接 网页打开了 这是我们上网时再普通不过的一幕 但是如此简单的表象背后 却隐藏着无比复杂的技术流程 想涨涨知识吗 往下看吧 一个HTTP请求的过程 为了简化我们先从一
  • 图片博客

    在这里插入图片描述
  • Shell输入输出重定向

    一 文件描述符 英文是file descriptor简称fd 文件描述符是一个非负整数 它是一个索引值 指向进程打开的文件 Linux程序在执行任何形式的 I O 操作时 都是在读取或者写入一个文件描述符 每个文件描述符会与一个打开的文件相
  • 前方交会与后方交会

    1 前方交会 1 1 前方交会的概念 利用立体像对两张像片的内方位元素 同名像点坐标和像对的相对方位元素 或外方位元素 解算模型点坐标 或地面点坐标 的工作 称为空间前方交会 在摄影测量中主要有两种 1 利用立体像对两张像片的相对方位元素
  • 命令行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