同事在迁移主机重新部署jekins时候,在运行java服务时一直报错No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
在虚机上执行 mvn install 打包没有问题,那就排除虚机环境问题,那就看Jenkins引用java环境是否正确,原来虚机自带的java环境不全,需要重新设置默认java环境配置,以下是另外一篇博文的引用:
- 首先查看默认的java 命令链接路径 alternatives --config java
- 其中有
+
号标识的表示当前使用的java程序路径 -
alternatives --install /usr/bin/java java /usr/local/jdk/bin/java 2
/usr/bin/java 不用改
java 不用改
/usr/local/jdk/bin/java 是你自己安装的JDK路径,注意是你环境变量JAVA_HOME + /bin/java 拼接而成,而不是单纯的JAVA_HOME
3. 选择你设置的JDKalternatives --config java
1
命令输入后,输入序号选择后回车设置完毕
原文链接:https://blog.csdn.net/qq_41788977/article/details/127940126
设置好默认java配置后,jenkins启动还是报错,找不到java配置
这时候在另外一篇博文看到可以通过添加软连接的方式处理jenkins的编译环境,因为我同事配置的jenkins用的从节点进行编译也就不能使用jenkins全局环境变量来配置实现
ls -l $(which java)查看软连接映射地址
这里有个提示:
which: no java in (/sbin:/usr/sbin:/bin:/usr/bin)
就是在/usr/sbin或者/usr/bin没找到java
如果软连接已存在并且指向不是你想要的,可以直接修改软连接指向
ln -snf /usr/java/jdk1.8.0_181/bin/java /usr/bin/java
其中:/usr/java/jdk1.8.0_181为jdk地址
原文链接:https://blog.csdn.net/fuck487/article/details/104443519
以上问题解决之后回jenkins重新编辑就成功啦!