Jython在我的代码库中是一个负担吗?

时间:2016-11-19 21:31:25

标签: java python jvm python-requests jython

我继承了一个大型Java / Scala代码库,它使用Jython与我们同样大的Python代码库进行交互。直到大约三天前突然所有的构建开始在Jython阶段失败时,事情一直在流动:

  

RuntimeException:java.lang.RuntimeException:方法代码太大了!

事实证明,JVM内部方法的大小内部限制为65kb。最新版本的Python请求似乎是罪魁祸首,这是我们Python代码库的重要依赖。我的猜测是最新版本在某处引入了一个非常大的类。

最明显的解决方案是将请求库版本固定到早期版本。我应该固定Python代码的所有库版本(就像我在Java中那样)吗?除版本固定外还有其他工作吗?我冒了太大的风险吗?

1 个答案:

答案 0 :(得分:5)

我刚刚开始使用Requests库并遇到了这个问题。跟踪它到Idna库,特别是uts46data.py文件,其数据结构超过Java的64 kb类限制(man这是一个愚蠢的事情)。

克隆主要回购并在https://github.com/METAVERO/idna更正 留言请求和indna githubs。您可以查看我的更改并将其合并到新的请求下载中。