不确定这是否是正确的提问地点,但我遇到了 Java 问题。我有一些适用于 Java 6 但不适用于 Java 7 的 Java 代码,错误是:
java.lang.IllegalStateException: This function should be called while holding treeLock
使用 Java6 有效,但我们的一些外部用户正在运行 Java 7。我发现错误是由对 的调用引起的,该调用validateTree()
在 java6 中有效,但在 Java7 中我们需要调用validate()
. 当我在本地测试它时,它可以工作。
这是我的问题,我开始在一家大公司工作,他们不会让我们对代码进行任何更改,直到它被彻底检查(我的工作更改将在 2013 年 4 月生效)但在那之前我们的用户是生气。我对 Java 不是最好的,我想知道是否有一种方法可以传递运行时参数来改变它?或者有什么我可以在不接触代码库的情况下做的吗?
我不好意思问这个问题,因为只需实施修复程序就可以轻松解决它,但任何想法或方向都会非常有帮助。
更新:理想情况下,我正在寻找可以支持将所有 validateTree() 引用更改为 validate() 的 java 运行时参数。