我正在Eclipse 2018-12中使用Java11构建Java Selenium独立应用程序,但构建失败:
java.lang.module.FindException:无法派生\ selenium-server-
standalone-3.141.59.jar的模块描述符
我一直在研究最新版本的Java中如何定义模块依赖关系,因为到目前为止我仅使用版本8。
module-info.java:
module main {
requires org.openqa.selenium.core;
}
mainClass:
package main;
import org.openqa.selenium.WebDriver;
public class DownloadDocuments {
public static void main(String[] args) {
System.out.println("hello!");
WebDriver driver;
}
}
使用模块时是否需要任何其他配置步骤?
堆栈跟踪
java.lang.module.FindException: Unable to derive module descriptor for \selenium-server-standalone-3.141.59.jar
at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:647)
at java.base/jdk.internal.module.ModulePath.readModule(ModulePath.java:330)
at java.base/jdk.internal.module.ModulePath.scan(ModulePath.java:236)
at java.base/jdk.internal.module.ModulePath.scanNextEntry(ModulePath.java:189)
at java.base/jdk.internal.module.ModulePath.findAll(ModulePath.java:165)
at java.base/java.lang.module.ModuleFinder$2.lambda$findAll$2(ModuleFinder.java:368)
at java.lang.module.ModuleFinder$2$$Lambda$22.00000000DB437580.apply(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:271)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:489)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:241)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at java.base/java.lang.module.ModuleFinder$2.findAll(ModuleFinder.java:369)
at java.base/java.lang.module.Resolver.findAll(Resolver.java:841)
at java.base/java.lang.module.Resolver.bind(Resolver.java:223)
at java.base/java.lang.module.Configuration.resolveAndBind(Configuration.java:304)
at java.base/java.lang.module.ModuleDescriptor$1.resolveAndBind(ModuleDescriptor.java:2735)
at java.base/jdk.internal.module.ModuleBootstrap.boot(ModuleBootstrap.java:337)
at java.base/java.lang.ClassLoader.initializeClassLoaders(ClassLoader.java:217)
at java.base/java.lang.Thread.initialize(Thread.java:422)
at java.base/java.lang.Thread.<init>(Thread.java:153)
Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class org.eclipse.jetty.http.Http1FieldPreEncoder not in module
at java.base/jdk.internal.module.ModulePath.deriveModuleDescriptor(ModulePath.java:554)
at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:643)
... 23 more
这是由于.jar文件中的错误。它包含一个META- INF/services/org.eclipse.jetty.http.HttpFieldPreEncoder
条目,根据jar服务提供商接口规范,该条目必须在实现该接口的同一.jar文件中包含一个类的名称org.eclipse.jetty.http.HttpFieldPreEncoder
。
但是,作为例外情况,该服务描述符文件包含org.eclipse.jetty.http.Http1FieldPreEncoder
.jar文件中不存在的类。
但是,org.seleniumhq.jetty9.http.Http1FieldPreEncoder
.jar中有一个类。
解决此问题的最简单方法是:
META-INF/services/org.eclipse.jetty.http.HttpFieldPreEncoder
,使其包含单行org.seleniumhq.jetty9.http.Http1FieldPreEncoder
。如果您不在Windows中,则可以在命令行上执行此操作:
mkdir -p META-INF/services
echo org.seleniumhq.jetty9.http.Http1FieldPreEncoder > META-INF/services/org.eclipse.jetty.http.HttpFieldPreEncoder
zip -u -m selenium-server-standalone-3.141.59.jar META-INF/services/org.eclipse.jetty.http.HttpFieldPreEncoder
rm -r META-INF
我正在使用Eclipse 2018-12中的Java11构建一个Java Selenium独立应用程序,但我的构建失败了: findException:无法派生\selenium-server-standalone-3.141.59.jar的模块描述符 使用模块时是否需要其他配置步骤? stacktrace
我在htmlunitdriver.java文件中做了一个补丁,如下文所述:使用WebDriver(HtmlUnit,Ruby绑定)时是否可能忽略JavaScript异常 我已经学习了关于selenium build wiki和自述文件中的说明,以及这里给出的技巧:构建selenium服务器项目 但是,我没有一个像selenium-server-standalone-2.25.0.jar这样的jar
在我的mac上使用Maven构建时,在< code>mvn install上,我得到 [警告]使用平台编码(实际上是MacRoman)来复制过滤的资源,即构建取决于平台! 是否可以为给定平台 (Linux) 构建或以其他方式独立于构建平台?
问题内容: 在我的VPS上启动selenium独立服务器时遇到麻烦 输出: 此后没有更多输出。在本地,相同的命令就像一个超级按钮一样工作。任何提示如何解决此问题? 爪哇 更新1 该服务根本不在任何端口上运行 Netstat输出 更新2 好的,这里的主要问题是selenium服务器在启动时卡住了,我不知道为什么。我销毁了我的VPS机器并从头开始。selenium服务器启动一次,在我停止并再次启动后,
我是Selenium IDE的初学者。添加了插件,并试图运行一个测试用例。它向我显示了下面的错误消息。 因此,我下载了必要的jar文件,并执行下面的命令java-jar selenium-server-standalone-2.28.0。jar[替换为下载的最新版本] 收到的信息如下:该怎么办? selenium-server-standalone-3.0.1。罐子 Java版本java版本"1.
在本章节中,我们将学习如何为 Docusaurus 创建独立页面(pages)。 这对于创建类似展示页面、练习页面或支持页面等 非经常修改的独立页面 非常有用。 独立页面的功能由 @docusaurus/plugin-content-pages 插件提供。 你可以使用 React 组件或 Markdown 来创建独立页面。 note 独立页面是没有侧边栏的,只有 文档(即 docs 目录下的文件)