Java:更新 jar 文件时加载类

标签 java jar noclassdeffounderror

我的 Java 程序在运行时动态加载类。所有类都位于同一个 jar 中。

部署新的 jar 文件后,复制 jar 文件时有时会出现错误(NoClassDefFoundError 等)。当然,下次运行该程序时,这种情况就会消失。有没有办法预加载类,以便我的程序在更新 jar 时不受影响?

我想我可以创建所有类的实例,然后克隆()它们,但也许有更好的方法?

最佳答案

即使加载了所有类,您仍然可能会从资源中收到错误。

如果可能的话,我建议部署到不同的位置。或者,如果您可以管理类加载,请将 jar 复制到临时文件(例如,对于 http URL 会自动完成)或内存中。

关于Java:更新 jar 文件时加载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2089310/

相关文章:

java.util.zip.ZipException : duplicate entry

java - 在 toString() 中使用 ∞ 而不是 "infinity"

JavaFX 绑定(bind)到嵌套列

java - 清理并构建,但我的音频文件消失了

java - 获取 java.lang.NoClassDefFoundError : javax/net/SocketFactory while sending email using mail. jar

java - axet/桌面 : Exception in thread "main" java. lang.NoClassDefFoundError: com/sun/jna/Platform

java - 创建正则表达式匹配数组

java - 无法执行命令: no such file or directory/Java

java - 导出的 JAR 没有创建它应该创建的文件

java - NoClassDefFoundError 和 ClassNotFoundException 的原因和区别是什么?