引用简单的.jar文件时,Eclipse 会显示一个错误,指出:
可以从多个模块访问 java.awt 包:<未命名>,java.桌面
例如,当 或 包含在.jar文件中时,就会发生这种情况。javax.awtjavax.swing
最简单的示例如下:
package test;
import javax.swing.JDialog;
public class Test {
public static void main(String[] args) {
new JDialog();
}
}
将.jar文件添加到仅具有文件夹结构(不需要文件)的类路径将导致出现错误。我使用的是JDK 10/12(两者都不起作用)。设置编译器合规性以使整个事情再次工作。在另一台计算机上,此工作与编译器合规性设置为 。javax/swing1.8Eclipse 2018-0910
我在Eclipse上,在一个(出于测试目的)新安装的,它工作正常。为什么?2019-03Eclipse 2018-09
编辑2020年6月(解决方案)
正如答案正确指出的那样,这是很久以前在Java中内置的限制,直到最近才强加给我们。我在将一个具有数十个依赖项的大项目迁移到Maven时接触到了它。有2000年左右的图书馆!有“元库”,它由几个打包在一起的库组成。因此,除了确定仍然需要什么(与其他库一起进入垃圾箱!),更新违反规则的库或找到它们的替代品之外,没有其他方法。这花了我很多很多个小时。
最后,它成功了,我们有一个不错的Maven项目可以合作。
ABOUTYOU
杨__羊羊
慕莱坞森
白衣染霜花
相关分类