无法使用Java 10和Java 11运行或导入JAR

时间:2018-10-16 12:32:01

标签: java eclipse jar java-10 java-11

我无法使用Java 10或Java 11运行.jar归档文件(它们以NoClassDefFoundError退出)。同样,我也无法将.jar档案导入Java项目;它们出现在类路径中,但是Eclipse表示无法解决导入。当我降级到Java 8时,我可以很好地运行.jar档案,并且在导入它们的任何Java Project中也可以识别它们。

例如:

我正在将mongo-java-driver-3.8.2导入到Eclipse Photon上的Java项目中。我将.jar添加到项目的类路径(项目->属性-> Java构建路径)。但是,Eclipse输出The import com.mongodb cannot be resolved,如下图所示:

enter image description here

1 个答案:

答案 0 :(得分:2)

如果默认软件包包含module-info.java文件,则说明您正在使用Java平台模块系统(JPMS),并且有两个选择:

  • 删除module-info.java 以不使用JPMS并使用 classpath ,就像Java 8一样
  • module-info.java中,添加行 requires mongo.java.driver; ,将模块mongo.java.driver(将软件包com.mongodb导出)添加到 modulepath (自Java 9开始,您可以使用没有module-info.java文件的类路径或带有module-info.java文件的模块路径)