我正在使用:
错误消息是
可以从多个包中访问org.openqa.selenium包 module:client.combined,net.bytebuddy“
答案 0 :(得分:27)
当您在ModulePath中添加外部jar时会发生这种情况。
<强>解决方案强>:
答案 1 :(得分:2)
在类路径中添加所需的JAR而不是模块路径。同时删除可能引用上述包的不必要的JAR。
答案 2 :(得分:2)
问题是您正在将Jar文件添加到Modulepath而不是Classpath。 去 Project-&gt; BuildPath-&gt; Config BuildPath-&gt;从Modulepath中移除Jars-&gt;然后点击classpath-&gt;添加外部selenium jar文件。
答案 3 :(得分:1)
我遇到了同样的错误,删除了对其中一个jar文件的引用解决了这个问题。 删除对您在java构建路径中添加的jar文件之一的引用 从您添加的屏幕截图中我看到您已参考两者 客户端联合3.6.0-sources.jar 和 客户端联合3.7.0.jar 两个包都实现了相同的类。 删除对1的引用,看看是否有帮助。
答案 4 :(得分:0)
我对Selenium一无所知,但看起来你有两个模块包含完全相同的包名:
所以当你说例如import org.openqa.selenium.WebDriver
Eclipse不知道您是否要使用client.combined
或net.bytebuddy
中的该包。
您需要在该导入语句中添加一个前缀,该前缀将指定您是从org.openqa.selenium
还是从client.combined
导入包net.bytebuddy
。
你可以这样做:
import client.combined.org.openqa.selenium.WebDriver
import client.combined.org.openqa.selenium.firefox.FirefoxDriver
或
import net.bytebuddy.org.openqa.selenium.WebDriver
import net.bytebuddy.org.openqa.selenium.firefox.FirefoxDriver
您还可以尝试从项目中删除任一软件包(client.combined
或net.bytebuddy
)
答案 5 :(得分:0)
我有同样的问题。我使用JDK 9和eclipse氧气64位版本(Selenium 3.9.1)。我的第一个想法,它是JDK 9,但我在IntelliJ IDEA JDK 9上进行了测试并且没有任何问题。所以我安装了带有JDK 8的eclipse氧气32位版本(在32位上没有JDK 9版本),问题就消失了。
答案 6 :(得分:0)
当在多个jar文件中都可以使用相同的Java软件包代码(软件包名称+类名称)时,就会发生这种情况;对于默认模块,每个jar都作为模块公开。模块本质上不能导出相同的软件包名称。这更多是代码清除任务。
答案 7 :(得分:-1)
在类路径而不是模块路径中添加所有必需的jar文件。我也发生了同样的问题,但是将罐子添加到classpath后,它得到了解决。