Eclipse 无法构建,但 Maven 可以,因为从 Java 8 移动到 Java 11
Eclipse cannot build, but maven can since moving from Java 8 to Java 11
这里是最小的reproduction
我正在使用 Eclipse Version: 2019-03 M1 (4.11.0 M1)
、Build id: 20190117-2133
有问题的 jar 是 Selenium,但它们是主项目中唯一的多版本 jar,所以我认为这可能是问题的一部分
基本上,Eclipse 在构建时出错
selenium.firefox.driver cannot be resolved to a module
并且该模块下 类 的所有导入都会出现错误
The import org.openqa.selenium cannot be resolved
或其一些变体。有时是org
声称无法解析
重要的是,这个 确实 在 Maven
下成功编译
您可以将 Selenium 与 Java 11 一起使用。只需从 module_info.java 中删除 Selenium 并将其用作额外的 jar 文件即可。
如果您想将 Selenium 用作 Java 模块,您必须编辑您的项目设置并将 Selenium 添加到您的 Modulepath 中:
不幸的是,Maven 插件似乎在 Eclipse 项目更新期间忽略了这一点(不仅是 Selenium)。
为了解决这个问题,我还必须修改模块-info.java:
module browserAutomation{
requires org.openqa.selenium.core;
requires org.openqa.selenium.firefox;
}
这对应于https://github.com/SeleniumHQ/selenium/tree/master/java/client/src/org/openqa/selenium
处的源代码
这里是最小的reproduction
我正在使用 Eclipse Version: 2019-03 M1 (4.11.0 M1)
、Build id: 20190117-2133
有问题的 jar 是 Selenium,但它们是主项目中唯一的多版本 jar,所以我认为这可能是问题的一部分
基本上,Eclipse 在构建时出错
selenium.firefox.driver cannot be resolved to a module
并且该模块下 类 的所有导入都会出现错误
The import org.openqa.selenium cannot be resolved
或其一些变体。有时是org
声称无法解析
重要的是,这个 确实 在 Maven
下成功编译您可以将 Selenium 与 Java 11 一起使用。只需从 module_info.java 中删除 Selenium 并将其用作额外的 jar 文件即可。
如果您想将 Selenium 用作 Java 模块,您必须编辑您的项目设置并将 Selenium 添加到您的 Modulepath 中:
不幸的是,Maven 插件似乎在 Eclipse 项目更新期间忽略了这一点(不仅是 Selenium)。
为了解决这个问题,我还必须修改模块-info.java:
module browserAutomation{
requires org.openqa.selenium.core;
requires org.openqa.selenium.firefox;
}
这对应于https://github.com/SeleniumHQ/selenium/tree/master/java/client/src/org/openqa/selenium
处的源代码