我无法使用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
,如下图所示:
答案 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
文件的模块路径)