我创建了一个程序来处理数据库,但在 IntelliJ IDEA 中编译时出现以下错误。有谁知道为什么会这样,我该如何解决?
原文由 urpi 发布,翻译遵循 CC BY-SA 4.0 许可协议
我创建了一个程序来处理数据库,但在 IntelliJ IDEA 中编译时出现以下错误。有谁知道为什么会这样,我该如何解决?
原文由 urpi 发布,翻译遵循 CC BY-SA 4.0 许可协议
- 如果依赖 jar 之一进行了数字签名,则 jar 可能不会执行,因为新工件将包含依赖项的部分签名。有关详细信息,请参阅此答案。
我必须再次强调 CrazyCoder 在这里的观点。
当您尝试运行包含损坏签名的 Jar 文件时,(Oracle) JVM 曾经抛出 SecurityException 。从“出了什么问题”的角度来看,这是有道理的。
这已不再是这种情况。 他们现在确实在抛出 ClassNotFoundException s - 即使该类就在文件中(无论它是在默认包/顶层还是在嵌套包结构中)。
原文由 Holger Müller 发布,翻译遵循 CC BY-SA 4.0 许可协议
8 回答6.6k 阅读
4 回答715 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答974 阅读✓ 已解决
您收到的错误不是在编译时发生的,而是在您尝试运行应用程序时发生的。发生这种情况是因为 Java 无法在
db
项目输出目录(类路径)的子目录中找到Table.class
文件。它的发生可能有多种原因:
Table.java
被排除在编译之外(有意或无意,因为它包含错误并且您想在处理其他代码时跳过它)db
子目录 的目录定义 源根 目录Table.java
有不正确的package
声明或位于/移动到不同的包:
在 Mac/Linux 上或分号;
在 Windows 上,它用于分隔类路径并将使类路径无效。有关详细信息,请参阅 此线程。请注意,Mac 上的 Finder 可能会将路径中的冒号显示为斜杠。.idea/modules.xml
文件引用了名为untitled104.iml
的无效模块文件。手动修复模块名称或从头开始创建项目,不要使用模板。在正确配置的项目和正确的运行/调试配置下,一切正常: