GouHuang

导航

 

写之前,允许我先 giao~ 一声,麻辣个鸡,最近在装 allure 时,一直报错。

1. 报错

报这个错的文章很少,查了很久结合实践终于找到原因了,废话不说,直接上报错:

gouhuang@GouHuangdeMacBook-Pro ~ % java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (Zulu 8.58.0.13-CA-macos-aarch64) (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (Zulu 8.58.0.13-CA-macos-aarch64) (build 25.312-b07, mixed mode)
gouhuang@GouHuangdeMacBook-Pro ~ % allure --version
错误: 找不到或无法加载主类 io.qameta.allure.CommandLine
gouhuang@GouHuangdeMacBook-Pro ~ % 

这个是我本机环境变量以及 allure-2.10.0 包的路径

gouhuang@GouHuangdeMacBook-Pro Downloads % echo $PATH
/Users/gouhuang/Downloads/allure-2.10.0/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Library/Frameworks/Python.framework/Versions/3.9/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/mysql/support-files:/usr/local/mysql/bin

2. 报错原因

报错里面可以看到我,本机jdk版本是:jdk1.8.0_312,很多博客上说allure需要jdk版本在 8 以上,从这里看我本机是符合要求的。

  1. 造成这种错误的原因是:jdk版本与allure版本不适配
  2. 还有一种报错的原因是环境变量配置有问题。

3. 解决

1.安装jdk环境
jdk官网下载地址:https://www.oracle.com/java/technologies/downloads/#java8
下载自己电脑对应的安装包,MAC就下后缀是.dmg的,windows就下后缀是.exe的,下载后直接双击执行
验证是否成功安装,java jdk,还是老三样,终端分别执行:

gouhuang@GouHuangdeMacBook-Pro ~ % java
gouhuang@GouHuangdeMacBook-Pro ~ % javac
gouhuang@GouHuangdeMacBook-Pro ~ % java -version

能正确打印信息就表示没问题,有一条报错,就说明环境配置有问题JAVA_HOME CLASSPATH PATH 这三个环境变量配置错误
2.下载 allure
allure github下载地址:https://github.com/allure-framework/allure2/releases
选择自己想要的 allure 版本,点击Assets下载安装包

2.1. 解压后,将其目录下的bin目录添加到环境变量中
MAC电脑,打开终端,执行:open ~/.bash_profile

# 如果报如下错误,表示你是第一次修改此文件,
# 执行:touch ~/.bash_profile 创建文件
# 然后在执行:open ~/.bash_profile
gouhuang@GouHuangdeMacBook-Pro ~ % open ~/.bash_profile
The file /Users/gouhuang/.bash_profile does not exist.

打开后添加如下内容:

export PATH="/Users/gouhuang/Downloads/allure-2.10.0/bin:${PATH}"

/Users/gouhuang/Downloads/allure-2.10.0/ 就是你 allure 解压缩的路径,不知道路径的可以打开终端后,直接把解压缩的allure文件夹拖到终端中,终端就会显示路径,直接复制过来就行
保存并关闭,终端执行:source ~/.bash_profile,使新建的配置文件生效

终端执行:allure --version

如果报错: io.qameta.allure.CommandLine

就证明,jdk 版本 和 allure 版本不适配

如果报错:zsh: command not found: allure

就证明 ~/.bash_profile环境变量配置错误,在检查一下路径是否错误,修改后 source生效
2.1 不适配解决
我就是因为不适配的原因,一直报错:io.qameta.allure.CommandLine 错误,下了n+版本后
jdk 1.8.0_201 和 allure 2.10.0 是适配的
附上百度网盘地址,方便下载,里面有mac、windows的jdk安装包和 allure安装包
链接: https://pan.baidu.com/s/1o0oGCmbdbIr4qqK5Y8zwwg 提取码: l7b3

4.说在最后

1.以上在 ~/.bash_profile 配置环境变量只在当前终端窗口生效,重启终端后必须source ~/.bash_profile 才能生效
2.如果要重启后自动生效就修改~/.zshrc这个配置文件,修改内容与~/.bash_profile一致
3.如果本机有多个jdk版本,想要快速切换jdk版本,参考:http://t.zoukankan.com/vicF-p-12020972.html
4.如果你之前安装过jdk,在新下载过jdk后一定要使用:java -version查看新安装的jdk是否生效,如果并未生效,就需要修改配置文件中的JAVA_HOME

特别鸣谢:
CSDN 史上最强踩坑王,MAC jenkins+allure :https://blog.csdn.net/Chen_798/article/details/121757458
博客园 zhangkai老师,MAC、Windows双系统安装jdk:https://www.cnblogs.com/Neeo/articles/11954283.html

posted on 2022-06-30 13:03  GouHuang  阅读(2158)  评论(0)    收藏  举报