尝试在webdriver.io项目中打开诱惑报告时出现异常java.lang.UnsatisfiedLinkError
我有一个小的webdriver.io项目,只是为了第一次尝试它。我现在想添加诱惑报告,但当我尝试运行尝试在webdriver.io项目中打开诱惑报告时出现异常java.lang.UnsatisfiedLinkError,java,eclipse,webdriver,windows-subsystem-for-linux,allure,Java,Eclipse,Webdriver,Windows Subsystem For Linux,Allure,我有一个小的webdriver.io项目,只是为了第一次尝试它。我现在想添加诱惑报告,但当我尝试运行allure open时,我遇到了以下异常,我不知道我必须从何处着手解决此问题: 正在启动web服务器。。。 2021-05-04 22:06:43.669:INFO::main:Logging在349ms时初始化为org.eclipse.jetty.util.log.StdErrLog 线程“main”java.lang.UnsatifiedLinkError中出现异常:无法加载库:/usr/l
allure open
时,我遇到了以下异常,我不知道我必须从何处着手解决此问题:
正在启动web服务器。。。
2021-05-04 22:06:43.669:INFO::main:Logging在349ms时初始化为org.eclipse.jetty.util.log.StdErrLog
线程“main”java.lang.UnsatifiedLinkError中出现异常:无法加载库:/usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt.so
位于java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2630)
位于java.base/java.lang.Runtime.load0(Runtime.java:768)
位于java.base/java.lang.System.load(System.java:1837)
位于java.base/java.lang.ClassLoader$NativeLibrary.load0(本机方法)
位于java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
位于java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
位于java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
位于java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2648)
位于java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
位于java.base/java.lang.System.loadLibrary(System.java:1873)
位于java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1399)
位于java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1397)
位于java.base/java.security.AccessController.doPrivileged(本机方法)
位于java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1396)
位于java.desktop/java.awt.Toolkit(Toolkit.java:1429)
位于java.desktop/java.awt.desktop.isDesktopSupported(desktop.java:328)
位于io.qameta.allure.Commands.openBrowser(Commands.java:220)
打开(Commands.java:152)
运行(CommandLine.java:165)
位于java.base/java.util.Optional.orElseGet(Optional.java:369)
位于io.qameta.allure.CommandLine.main(CommandLine.java:88)
报告生成得很好。只有当我试图打开它们时,我才得到这个错误
我通过npm安装了allure reporter和allure命令行。我将我的项目放在Debian WSL中,并使用VcXsrv X服务器运行chromedriver,以防这可能有所帮助
有没有人知道如何解决这个错误,或者有没有人知道应该寻找什么?我希望我给了你足够的信息。如果没有,就说你需要什么。提前感谢您的帮助
编辑:
我再次安装了openjdk-11-jdk,解决了最初的错误。但现在我得到了以下信息:
2021-05-04 23:33:34.871:INFO::main:Logging在395ms时初始化为org.eclipse.jetty.util.log.StdErrLog
您的平台不支持浏览操作。您可以使用下面的链接手动打开报告。
java.lang.UnsupportedOperationException:当前平台不支持浏览操作!
位于java.desktop/java.awt.desktop.checkActionSupport(desktop.java:380)
位于java.desktop/java.awt.desktop.browse(desktop.java:524)
位于io.qameta.allure.Commands.openBrowser(Commands.java:222)
打开(Commands.java:152)
运行(CommandLine.java:165)
位于java.base/java.util.Optional.orElseGet(Optional.java:369)
位于io.qameta.allure.CommandLine.main(CommandLine.java:88)
服务器在启动。按退出
当我遵循这个链接时,它是无法访问的。您可能缺少一些下游库 运行此命令以找出哪些,然后安装它们
$ ldd /usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt.so
这意味着WSL不支持java.awt.Desktop.browse()
这是在Stackoverflow中之前提出的
参见ubuntu 20.04上的:
sudoapt安装openjdk-11-jdk
正如Joakim所建议的,安装了无头版本。
我在ldd上也犯了同样的错误,库丢失了
一般来说,改变你的问题不是一个好主意,最好先搜索,如果需要的话,问一个新的问题,包括所有细节
这可能有助于您了解第二个问题的可能原因:
如果你想使用Linux,我强烈建议你使用一个普通的Ubuntu Linux安装,WSL是不同的,并且有一些你在Linux中不会遇到的特殊问题。如果不选择专用安装,请尝试查找一般问题。希望shell、docker和图形相关的东西在行为上有所不同,因为这些东西是专门为WSL以特定方式实现的。当我运行此程序时,我得到:
ldd:/usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt。所以:没有这样的文件或目录
您缺少该库,也许您安装了openjdk软件包的无头版本?我不记得我是如何安装openjdk的,但再次安装openjdk-11-jdk解决了这个错误。但现在我得到了一个不同的错误。我将把它添加到问题的底部。好的,谢谢,所以没有办法让它运行?我已经搜索了一般问题,但没有找到任何东西,谢谢链接!你是对的,下次我会发布一个新的问题,那太愚蠢了。
java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
at java.desktop/java.awt.Desktop.checkActionSupport(Desktop.java:380)
at java.desktop/java.awt.Desktop.browse(Desktop.java:524)
at io.qameta.allure.Commands.openBrowser(Commands.java:222)