我需要为遗留jar生成模块-info文件,该文件名为:Selenie-chro-Driver-3.141.59.jar,命令如下:
jdeps --module-path modules --generate-module-info out selenium-chrome-driver-3.141.59.jar但结果是:
Missing dependence: C:\...\selenium.chrome.driver\module-info.java not generated
Error: missing dependencies
org.openqa.selenium.chrome.ChromeDriver -> com.google.common.collect.ImmutableMap not found
org.openqa.selenium.chrome.ChromeDriver -> org.openqa.selenium.Capabilities not found
org.openqa.selenium.chrome.ChromeDriver -> org.openqa.selenium.WebDriverException not found
org.openqa.selenium.chrome.ChromeDriver -> org.openqa.selenium.html5.LocalStorage not found
org.openqa.selenium.chrome.ChromeDriver -> org.openqa.selenium.html5.Location not found
org.openqa.selenium.chrome.ChromeDriver -> org.openqa.selenium.html5.LocationContext not found
org.openqa.selenium.chrome.ChromeDriver -> org.openqa.selenium.html5.SessionStorage not found
org.openqa.selenium.chrome.ChromeDriver -> org.openqa.selenium.html5.WebStorage not found
org.openqa.selenium.chrome.ChromeDriver -> org.openqa.selenium.interactions.HasTouchScreen not found
...jdeps --module-path modules --add-modules=ALL-MODULE-PATH --generate-module-info out selenium-chrome-driver-3.141.59.jar那我也会犯同样的错误。
作为替代方式,我尝试添加单独的模块,如:
jdeps --module-path modules --add-modules org.openqa.selenium.chrome,org.openqa.selenium.remote --generate-module-info out selenium-chrome-driver-3.141.59.jar我看到这个:
Exception in thread "main" java.lang.module.FindException: Module org.openqa.selenium.chrome not found
at java.base/java.lang.module.Resolver.findFail(Resolver.java:877)
at java.base/java.lang.module.Resolver.resolve(Resolver.java:128)
at java.base/java.lang.module.Configuration.resolve(Configuration.java:411)
at java.base/java.lang.module.Configuration.resolve(Configuration.java:245)
at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration.<init>(JdepsConfiguration.java:117)
at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration$Builder.build(JdepsConfiguration.java:563)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.buildConfig(JdepsTask.java:589)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:543)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:519)
at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:49)不管我要添加哪个模块,问题都是:
java.lang.module.FindException name_of_your_module使用一个更高的级别对我也没有帮助:
jdeps --module-path modules --add-modules org.openqa.selenium --generate-module-info out selenium-chrome-driver-3.141.59.jar错误将是:
Exception in thread "main" java.lang.module.FindException: Module org.openqa.selenium not found
at java.base/java.lang.module.Resolver.findFail(Resolver.java:877)
at java.base/java.lang.module.Resolver.resolve(Resolver.java:128)
at java.base/java.lang.module.Configuration.resolve(Configuration.java:411)所以,我最后能做的就是手动创建模块信息,并使用exports在每个模块中编写?
更新:
jdeps -cp guava-25.0-jre.jar;selenium-api-3.141.59.jar;selenium-remote-driver-3.141.59.jar selenium-chrome-driver-3.141.59.jar要通过-cp选项查找类:
selenium-chrome-driver-3.141.59.jar -> guava-25.0-jre.jar
selenium-chrome-driver-3.141.59.jar -> java.base
selenium-chrome-driver-3.141.59.jar -> selenium-api-3.141.59.jar
selenium-chrome-driver-3.141.59.jar -> selenium-remote-driver-3.141.59.jar我加入了selenium-chrome-driver-3.141.59.jar,selenium-api-3.141.59.jar也加入了guava-25.0-jre.jar和selenium-remote-driver-3.141.59.jar。
发布于 2019-08-15 01:40:54
文件selenium-chrome-driver-3.141.59.jar是而不是,是一个模块化的JAR,因为它不包含任何像module-info.class文件一样的模块信息。
对我来说,当我使用jdeps选项并添加依赖的JARS时,-cp起了作用,如下所示.
jdeps -cp guava-25.0-jre.jar;selenium-api-3.141.59.jar;selenium-remote-driver-3.141.59.jar selenium-chrome-driver-3.141.59.jar我得到了这个输出。
selenium-chrome-driver-3.141.59.jar -> guava-25.0-jre.jar
selenium-chrome-driver-3.141.59.jar -> java.base
selenium-chrome-driver-3.141.59.jar -> selenium-api-3.141.59.jar
selenium-chrome-driver-3.141.59.jar -> selenium-remote-driver-3.141.59.jar
org.openqa.selenium.chrome -> com.google.common.base guava-25.0-jre.jar
org.openqa.selenium.chrome -> com.google.common.collect guava-25.0-jre.jar
org.openqa.selenium.chrome -> com.google.common.io guava-25.0-jre.jar
org.openqa.selenium.chrome -> java.io java.base
org.openqa.selenium.chrome -> java.lang java.base
org.openqa.selenium.chrome -> java.lang.invoke java.base
org.openqa.selenium.chrome -> java.util java.base
org.openqa.selenium.chrome -> java.util.function java.base
org.openqa.selenium.chrome -> java.util.stream java.base
org.openqa.selenium.chrome -> org.openqa.selenium selenium-api-3.141.59.jar
org.openqa.selenium.chrome -> org.openqa.selenium.html5 selenium-api-3.141.59.jar
org.openqa.selenium.chrome -> org.openqa.selenium.interactions selenium-api-3.141.59.jar
org.openqa.selenium.chrome -> org.openqa.selenium.mobile selenium-api-3.141.59.jar
org.openqa.selenium.chrome -> org.openqa.selenium.remote selenium-remote-driver-3.141.59.jar
org.openqa.selenium.chrome -> org.openqa.selenium.remote.html5 selenium-remote-driver-3.141.59.jar
org.openqa.selenium.chrome -> org.openqa.selenium.remote.http selenium-remote-driver-3.141.59.jar
org.openqa.selenium.chrome -> org.openqa.selenium.remote.mobile selenium-remote-driver-3.141.59.jar
org.openqa.selenium.chrome -> org.openqa.selenium.remote.service selenium-remote-driver-3.141.59.jarhttps://stackoverflow.com/questions/57502944
复制相似问题