我正在尝试将Java项目从Selenium 2.53移动到3.4。我在Windows 7下使用Eclipse Mars。在Eclipse Neon的全新安装中也出现了同样的问题。
我已经将Maven依赖项更改为selenium-java 3.4,并且在尝试在Eclipse中运行项目时获得了NullPointerException。在Maven构建的pom.xml之后,生成的jar运行正常。
我认为该项目可能已损坏,因此我启动了一个新的Maven项目,希望最终将代码移入其中。在创建一个简单的Maven项目之后,我添加了selenium-java 3.4作为依赖项 - 并且在Eclipse中的项目构建期间立即出现错误。细节又说NullPointerException。然后我安装了Neon,再次创建了一个新项目,添加了selenium-java 3.4作为依赖项并得到了同样的问题。
不幸的是,我无法知道NPE发生在什么线上。在尝试保存pom.xml时,我得到一个窗口说:
'建立工作空间'遇到了问题。构建期间发生错误。
当我点击详细信息时,我看到:
构建期间发生错误。 错误运行构建器' Maven Project Builder' on project' service.apm.ui_auto.dataentry'。 显示java.lang.NullPointerException
当我查看错误时,我看到的只是"项目配置与pom.xml不是最新的。选择Maven - >从项目上下文菜单更新项目或使用快速修复"。当我这样做时,我只是得到了另一个窗口"'正在更新Maven项目'遇到了问题"。详细信息按钮再次显示有关NPE的消息。
经过很多尝试的东西"我偶然发现了一个明显的解决方案。
我重命名C:\Users\myuser\.m2
,然后新项目开始正常工作 - 它构建,运行,Maven更新项目工作......直到我尝试构建旧项目。一旦我尝试构建旧项目或更新它(右键单击旧项目> Maven>更新项目),Null Pointer Exception将返回,然后它也会影响新项目。
此外,即使我不接触旧项目,NPE最终也会返回,显然是在下载源代码和javadoc期间。虽然我会尝试禁用下载源和javadoc,但这看起来不像是一个完整的解决方案。
答案 0 :(得分:2)
经过大量的“尝试”之后,我终于偶然发现了一个明显的解决方案。这不是很好,但是我把它放在这里是为了让其他人得到这个问题。
我有:
现在事情似乎工作得很好,虽然有一点,NPE返回 - 我认为更新索引会再次损坏存储库。我删除了.m2,NPE消失了。
答案 1 :(得分:0)
似乎当前版本的selenium jar 3.4.0存在maven构建问题,因此对我来说有用的是为较低版本的selenium添加依赖项,在本例中为3.3.1版。添加并保存后,未发现任何错误,项目已成功构建。