【发布时间】:2013-11-27 21:57:16
【问题描述】:
我尝试将Guave 15.0 与 GWT 2.5.1 一起使用,但编译失败。我使用编译器参数-strict。在我的模块 gwt.xml 我有:
<inherits name="com.google.common.collect.Collect"/>
我添加了我的类路径:
guava-15.0.jar
guava-gwt-15.0.jar
当我尝试编译时出现以下错误:
Compiling module test.Tttt
Validating units:
[ERROR] Errors in 'com/google/common/base/super/com/google/common/base/CharMatcher.java'
[ERROR] Line 760: SmallCharMatcher cannot be resolved
[ERROR] Aborting compile due to errors in some input files
我使用了一个空白的 gwt 项目来演示这个错误。 The project can be found here.
编辑:
当我只包括这个时:
guava-gwt-15.0.jar
我收到以下错误:
Validating units:
[ERROR] Errors in 'jar:file:/Users/mg/Documents/Grails/GGTS3.4.0-KEPLER4.3.1/mytest/lib/guava-gwt-15.0.jar!/com/google/common/base/super/com/google/common/base/CharMatcher.java'
[ERROR] Line 760: SmallCharMatcher cannot be resolved
编辑:使用日志级别跟踪编译:
Public resources found in...
Unexpected entry in classpath; /System/Library/Java/Extensions/libAppleScriptEngine.jnilib is neither a directory nor an archive (.jar or .zip)
Unexpected entry in classpath; /System/Library/Java/Extensions/libJ3D.jnilib is neither a directory nor an archive (.jar or .zip)
Unexpected entry in classpath; /System/Library/Java/Extensions/libJ3DAudio.jnilib is neither a directory nor an archive (.jar or .zip)
Unexpected entry in classpath; /System/Library/Java/Extensions/libJ3DUtils.jnilib is neither a directory nor an archive (.jar or .zip)
Unexpected entry in classpath; /System/Library/Java/Extensions/libmlib_jai.jnilib is neither a directory nor an archive (.jar or .zip)
Unexpected entry in classpath; /System/Library/Java/Extensions/libQTJNative.jnilib is neither a directory nor an archive (.jar or .zip)
Unexpected entry in classpath; /usr/lib/java/libjdns_sd.jnilib is neither a directory nor an archive (.jar or .zip)
Translatable source found in...
Persistent unit cache dir set to: /Users/mg/Documents/Grails/GGTS3.4.0-KEPLER4.3.1/tttt/war/../gwt-unitCache
Compiling module test.Tttt
Looking for previously cached Compilation Units in /Users/mg/Documents/Grails/GGTS3.4.0-KEPLER4.3.1/tttt/war/../gwt-unitCache
Looking for precompiled archives. To disable, use -Dgwt.usearchives=false
Loading archived module: jar:file:/Applications/gwt/gwt-2.5.1/gwt-user.jar!/com/google/gwt/user/User.gwtar
Loading archived module: jar:file:/Applications/gwt/gwt-2.5.1/gwt-user.jar!/com/google/gwt/core/Core.gwtar
Loading archived module: jar:file:/Applications/gwt/gwt-2.5.1/gwt-user.jar!/com/google/gwt/regexp/RegExp.gwtar
Loading archived module: jar:file:/Applications/gwt/gwt-2.5.1/gwt-user.jar!/com/google/web/bindery/event/Event.gwtar
Found 2719 cached/archived units. Used 2719 / 3026 units from cache.
Compiling...
Compilation completed in 3,95 seconds
Added 3026 units to cache since last cleanup.
Validating units:
[ERROR] Errors in 'jar:file:/Users/mg/Documents/Grails/GGTS3.4.0-KEPLER4.3.1/tttt/lib/guava-gwt-15.0.jar!/com/google/common/base/super/com/google/common/base/CharMatcher.java'
[ERROR] Line 760: SmallCharMatcher cannot be resolved
Removing invalidated units
Wrote 3026 units to persistent cache.
Resolving com.google.common.annotations.Beta
Found type 'com.google.common.annotations.Beta'
[WARN] Ignoring unresolvable annotation type com.google.common.annotations.GwtCompatible
Resolving com.google.common.annotations.GwtCompatible
Found type 'com.google.common.annotations.GwtCompatible'
[WARN] Ignoring unresolvable annotation type com.google.common.annotations.GwtCompatible
Resolving com.google.common.annotations.GwtIncompatible
Found type 'com.google.common.annotations.GwtIncompatible'
[WARN] Ignoring unresolvable annotation type com.google.common.annotations.GwtCompatible
Resolving com.google.common.annotations.VisibleForTesting
Found type 'com.google.common.annotations.VisibleForTesting'
[WARN] Ignoring unresolvable annotation type com.google.common.annotations.GwtCompatible
Resolving com.google.common.base.Absent
Found type 'com.google.common.base.Absent'
[WARN] Ignoring unresolvable annotation type com.google.common.annotations.GwtCompatible
Found type 'com.google.common.base.Optional'
[WARN] Ignoring unresolvable annotation type com.google.common.annotations.GwtCompatible
[WARN] Ignoring unresolvable annotation type com.google.common.annotations.Beta
Found type 'com.google.common.base.Supplier'
com.google.common.annotations.GwtCompatible
Resolving com.google.common.primitives.UnsignedInteger
Found type 'com.google.common.primitives.UnsignedInteger'
[WARN] Ignoring unresolvable annotation type com.google.common.annotations.GwtCompatible
Finding entry point classes
[ERROR] Aborting compile due to errors in some input files
Shutting down PersistentUnitCache thread
【问题讨论】:
-
CharMatcher 是 guava-15.0.jar 的一部分。它不包含在 guava-gwt-15.jar 中。无论你做了什么,你都不能在客户端使用 CharMatcher。
-
@ElHoss 我更新了我的帖子,但仍然只有 guava-gwt 出现错误。有什么想法吗?
-
将 logLevel 设置为 TRACE。这应该告诉我们更多关于错误的信息。
-
@ElHoss 我用日志级别跟踪更新了我的问题。
-
删除 gwt-unit 文件夹。看起来您正在使用旧版本的 GWT 生成项目。我可以确认,您的项目示例可以使用 GWT 2.5.1 编译。
标签: java javascript gwt guava