2

我在 appengine 上修复“NoSuchMethodError”问题的方法是反复试验,这是最好的方法,还是存在更好的方法?

错误: java.lang.NoSuchMethodError:sun.security.ssl.InputRecord.decrypt(Lsun/security/ssl/CipherBox;)V

我猜是因为添加了“MAC”,Java 1.7.0_25 已经解密(MAC,CipherBox)

通用解决方案 有没有人想出一个好的系统来跟踪 NoSuchMethodError 错误并修复它们。我不断收到 JAR 版本问题。它们发生了很多,并导致了很多问题。一切都在eclipse中编译得很好,然后我部署了另一个“NoSuchMethodError”。有没有办法在编译时捕获这些,或者任何有效的经验法则?

4

1 回答 1

0

这些错误不会在编译时出现,因为调用缺失方法的不是您的代码。这是您的一些依赖项调用其子依赖项方法之一,该方法不存在。

这些错误大多发生在运行时,而且确实很难找到。

最好的方法是使用一些依赖管理系统(如 Maven),它将使用正确的依赖和子依赖。JUnit 测试也可以帮助发现这个问题,这取决于测试的覆盖率。

于 2013-07-04T05:08:10.417 回答