java - 可执行 JAR 中的 ClassCastException 不在 IDE 内

标签 java eclipse jar executable classcastexception

我在 Eclipse 之外运行应用程序时遇到问题。它在 IDE 内的应用程序没有的地方给出了 ClassCastException。特别是,我将尝试转换的实例名称输出到终端,在 IDE 内部它给出正确的类型,例如“NestedEngineImpl”,而在 IDE 外部它给出“EngineImpl”,但 EngineImpl 无法转换为 NestedEngineImpl 除外。 NestedEngineImpl 扩展了 EngineImpl。可执行 jar 是使用 Eclipse 的导出可运行 JAR 文件创建的。 jar 打开并运行直到出现异常点。

任何建议将不胜感激。

最佳答案

检查 jar 的版本。试试这个(将“java/lang/Object.class”替换为您的类的适当路径):

ClassLoader.getSystemClassLoader().getSystemResource("java/lang/Object.class")

它将为您提供 jar 的 URL,您可以打印该 URL 以检查您的类(class)来自哪里)。

关于java - 可执行 JAR 中的 ClassCastException 不在 IDE 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4092238/

相关文章:

java - Spring Boot 和 Tomcat 找不到 JNDI 资源

java - HSQLDB 语句和 Java NaN double

eclipse - 用单个类修补插件?

java - 如何获取我的 android 项目中文件夹的相对路径?

java - 如何防止客户端在 Android 库中看到内部私有(private)类?

java - 覆盖枚举方法时出现奇怪的行为。 getClass().getInterfaces() 是否正常工作?

java - 如何连接正则表达式中的范围?

java - Eclipse/intelliJ导入自定义资源(java)

java - 检查 jar 文件是否在 linux 服务器上运行

java - JAVA中获取文件路径