我的 Java 程序在运行时动态加载类。所有类都位于同一个 jar 中。
部署新的 jar 文件后,复制 jar 文件时有时会出现错误(NoClassDefFoundError 等)。当然,下次运行该程序时,这种情况就会消失。有没有办法预加载类,以便我的程序在更新 jar 时不受影响?
我想我可以创建所有类的实例,然后克隆()它们,但也许有更好的方法?
最佳答案
即使加载了所有类,您仍然可能会从资源中收到错误。
如果可能的话,我建议部署到不同的位置。或者,如果您可以管理类加载,请将 jar 复制到临时文件(例如,对于 http URL 会自动完成)或内存中。
关于Java:更新 jar 文件时加载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2089310/