【发布时间】:2015-08-13 18:24:03
【问题描述】:
我正在使用 GWT 2.4.0 和 GXT 3.0.0b 我正在尝试 Google 编译应用程序,但每次都收到此错误。
org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding
[ERROR] at AddNewCompDtlsForCombo.java(5): class AddNewCompDtlsForCombo
com.google.gwt.dev.jjs.ast.JClassType
Exception in thread "UnitWriteThread" java.lang.NullPointerException
at com.google.gwt.dev.util.DiskCache.transferToStream(DiskCache.java:182)
at com.google.gwt.dev.util.DiskCacheToken.writeObject(DiskCacheToken.java:91)
at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at com.google.gwt.dev.javac.PersistentUnitCache$UnitWriter.run(PersistentUnitCache.java:226)
有什么问题?是否缺少一些罐子/插件? 早些时候我使用 GWT 2.1 和 Gxt 2.4,它曾经编译得很好。 请帮忙
【问题讨论】:
-
在 2.5.0 中也看到了类似的问题 - 至少在这些情况下,它似乎打开了太多文件。如果使用 *nix,请尝试增加进程一次可以打开的文件数。
-
作为@ColinAlworth 评论的补充,假设在*nix 机器上编译,尝试通过设置
ulimit来增加允许的共享资源,如建议here。 -
我也从损坏的 jars(检查 SHA 哈希)或完整的 /tmp 文件夹中看到了类似的问题。删除项目文件夹中的 gwt-unitCache(如果缓存变大,它将锁定您的编译能力),清除临时文件,并调查上述 ulimit 问题...
-
我清除了 gwt-unitCache,还有所有的临时文件。它没有帮助。我不得不再次设置一个新的工作区,现在它工作正常。感谢所有 4 位帮助:)