我们的一位客户面临一个问题:
有时,当他运行我们的java应用程序时,它会抛出ClassNotFoundException
。包含"缺失"的罐子class被正确放置在类路径下,并且他的环境上的问题是不一致的(取决于我们调用应用程序的方式 - 命令行或快捷方式,以及其他环境因素)。
我们希望向他提供一个调试版本,用于打印寻找缺失类的路径和URL,以便我们可以理解为什么找不到它,并解决问题。
我们尝试了-verbose:class
,但它只打印成功加载的类及其实际路径。有没有办法打印搜索每个(或更好的唯一丢失)类的路径?
答案 0 :(得分:0)
根据例外情况,毫无疑问,类路径存在问题,导致JVM无法找到所需的类。
既然如此,你说丢失的类位于jar,但找不到。请尝试以下这些解决方案。
尝试访问其他类,这些类与缺少的类或此jar中的任何包放在同一个特定包中。如果全部成功,请在源文件中针对缺少的类错误地指出包名称是错误的。
此外,如果您擅长使用-classpath选项,则可以使用控制台中的javac命令调试此问题。