Я создаю автономное приложение Java Selenium с использованием Java11 в Eclipse 2018-12, но мои сборки терпят неудачу:
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