-1

我下载了 xstream jar 和源代码,并使用winrar将源代码附加到 jar 文件中

我创建了 2 个 gwt.xml 文件。

xstream.gwt.xml 存在于 com.thoughtworks 中

<?xml version="1.0" encoding="UTF-8"?> 
<module> 
<source path="xstream"/> 
</module>

并且 operations.gwt.xml 存在于 com.thoughworks.xstream 中

<?xml version="1.0" encoding="UTF-8"?> 
<module> 
<source path="annotations"/> 
<source path="converters"/> 
<source path="core"/> 
<source path="io"/> 
<source path="mapper"/> 
<source path="persistence"/> 
</module>

编辑:它是我的 gwt 项目 xml

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='test'>
  <inherits name='com.google.gwt.user.User'/>
  <inherits name='com.google.gwt.user.theme.standard.Standard'/>
  <inherits name='com.thoughtworks.xstream'/>
  <entry-point class='com.example.test.client.Index'/>
</module>

但我有一个错误

Compiling module com.example.test.Test
   Validating newly compiled units
      Ignored 142 units with compilation errors in first pass.
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/XStream.java'
      [ERROR] Line 499:  The method forName(String, boolean, ClassLoader) is undefined for the type Class
      [ERROR] Line 500:  The method getConstructor(Class[]) is undefined for the type Class
      [ERROR] Line 764:  The method forName(String, boolean, ClassLoader) is undefined for the type Class
      [ERROR] Line 765:  The method getConstructor(Class[]) is undefined for the type Class
      [ERROR] Line 1062:  The method getPackage() is undefined for the type Class<capture#10-of ? extends XStream>
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/basic/NullConverter.java'
      [ERROR] Line 30:  The method isAssignableFrom(Class) is undefined for the type Class<Mapper.Null>
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/basic/StringConverter.java'
      [ERROR] Line 73:  The method synchronizedMap(WeakCache) is undefined for the type Collections
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/collections/AbstractCollectionConverter.java'
      [ERROR] Line 77:  The method newInstance() is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/collections/TreeMapConverter.java'
      [ERROR] Line 54:  The method getDeclaredFields() is undefined for the type Class<TreeMap>
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/collections/TreeSetConverter.java'
      [ERROR] Line 48:  The method getDeclaredFields() is undefined for the type Class<TreeSet>
      [ERROR] Line 50:  The method isAssignableFrom(Class<capture#1-of ?>) is undefined for the type Class<SortedMap>
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/extended/DynamicProxyConverter.java'
      [ERROR] Line 51:  The method getDeclaredField(String) is undefined for the type Class<Proxy>
      [ERROR] Line 60:  The method getClassLoader() is undefined for the type Class<DynamicProxyConverter>
      [ERROR] Line 85:  The method getInterfaces() is undefined for the type Class<capture#2-of ? extends Object>
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/extended/JavaClassConverter.java'
      [ERROR] Line 61:  The method getClassLoader() is undefined for the type Class<capture#1-of ?>
      [ERROR] Line 65:  The method forName(String, boolean, ClassLoader) is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/extended/JavaFieldConverter.java'
      [ERROR] Line 69:  The method getDeclaredField(String) is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/extended/JavaMethodConverter.java'
      [ERROR] Line 107:  The method getDeclaredMethod(String, Class[]) is undefined for the type Class
      [ERROR] Line 109:  The method getDeclaredConstructor(Class[]) is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/extended/LookAndFeelConverter.java'
      [ERROR] Line 44:  The method isAssignableFrom(Class) is undefined for the type Class<LookAndFeel>
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/reflection/AbstractReflectionConverter.java'
      [ERROR] Line 271:  The method isAssignableFrom(Class<capture#27-of ? extends Object>) is undefined for the type Class
      [ERROR] Line 326:  The method isAssignableFrom(Class<capture#32-of ? extends Object>) is undefined for the type Class
      [ERROR] Line 378:  The method isAssignableFrom(Class) is undefined for the type Class<Collection>
      [ERROR] Line 378:  The method isAssignableFrom(Class) is undefined for the type Class<Map>
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/reflection/AbstractAttributedCharacterIteratorAttributeConverter.java'
      [ERROR] Line 38:  The method getDeclaredMethod(String, Class[]) is undefined for the type Class<AttributedCharacterIterator.Attribute>
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/reflection/ExternalizableConverter.java'
      [ERROR] Line 58:  The method isAssignableFrom(Class) is undefined for the type Class<Externalizable>
      [ERROR] Line 104:  The method getDeclaredConstructor(Class[]) is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/reflection/SerializableConverter.java'
      [ERROR] Line 90:  The method isAssignableFrom(Class) is undefined for the type Class<Serializable>
      [ERROR] Line 214:  The method isAssignableFrom(Class) is undefined for the type Class<Serializable>
      [ERROR] Line 271:  The method getDeclaredField(String) is undefined for the type Class
      [ERROR] Line 462:  The method isAssignableFrom(Class) is undefined for the type Class<Serializable>
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/core/DefaultConverterLookup.java'
      [ERROR] Line 37:  The method synchronizedMap(WeakHashMap) is undefined for the type Collections
      [ERROR] Line 86:  The method synchronizedMap(HashMap) is undefined for the type Collections
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/core/JVM.java'
      [ERROR] Line 46:  The method getProperty(String) is undefined for the type System
      [ERROR] Line 94:  The method getProperty(String) is undefined for the type System
      [ERROR] Line 185:  The method getProperty(String) is undefined for the type System
      [ERROR] Line 199:  The method getProperty(String) is undefined for the type System
      [ERROR] Line 231:  The method getClassLoader() is undefined for the type Class<capture#1-of ? extends JVM>
      [ERROR] Line 251:  The method newInstance() is undefined for the type Class
      [ERROR] Line 342:  The method getDeclaredFields() is undefined for the type Class<AttributedString>
      [ERROR] Line 350:  The method getDeclaredFields() is undefined for the type Class<JVM>
      [ERROR] Line 361:  The method getProperty(String) is undefined for the type System
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/core/util/CompositeClassLoader.java'
      [ERROR] Line 57:  The method getClassLoader() is undefined for the type Class<Object>
      [ERROR] Line 58:  The method getClassLoader() is undefined for the type Class<capture#1-of ? extends CompositeClassLoader>
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/core/util/CustomObjectInputStream.java'
      [ERROR] Line 95:  The method forName(String, boolean, ClassLoader) is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/io/xml/XppDriver.java'
      [ERROR] Line 18:  The import org.xmlpull cannot be resolved
      [ERROR] Line 19:  The import org.xmlpull cannot be resolved
      [ERROR] Line 20:  The import org.xmlpull cannot be resolved
      [ERROR] Line 31:  XmlPullParserFactory cannot be resolved to a type
      [ERROR] Line 55:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 55:  XmlPullParserException cannot be resolved to a type
      [ERROR] Line 56:  XmlPullParserFactory cannot be resolved to a type
      [ERROR] Line 57:  XmlPullParserFactory cannot be resolved to a type
      [ERROR] Line 57:  XmlPullParserFactory cannot be resolved
      [ERROR] Line 59:  XmlPullParserFactory cannot be resolved to a type
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/io/xml/AbstractXppDriver.java'
      [ERROR] Line 19:  The import org.xmlpull cannot be resolved
      [ERROR] Line 20:  The import org.xmlpull cannot be resolved
      [ERROR] Line 54:  The method createParser() from the type AbstractXppDriver refers to the missing type XmlPullParser
      [ERROR] Line 55:  XmlPullParserException cannot be resolved to a type
      [ERROR] Line 93:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 93:  XmlPullParserException cannot be resolved to a type
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/mapper/MapperWrapper.java'
      [ERROR] Line 103:  The method isAssignableFrom(Class<capture#1-of ? extends MapperWrapper>) is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/mapper/CachingMapper.java'
      [ERROR] Line 55:  The method synchronizedMap(HashMap) is undefined for the type Collections
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/mapper/ClassAliasingMapper.java'
      [ERROR] Line 60:  The method isAssignableFrom(Class) is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/mapper/DefaultMapper.java'
      [ERROR] Line 47:  The method getClassLoader() is undefined for the type Class<DefaultMapper>
      [ERROR] Line 51:  The method forName(String, boolean, ClassLoader) is undefined for the type Class
      [ERROR] Line 53:  The method forName(String) is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/mapper/ImplicitCollectionMapper.java'
      [ERROR] Line 97:  The method getDeclaredField(String) is undefined for the type Class
      [ERROR] Line 110:  The method isAssignableFrom(Class<capture#1-of ?>) is undefined for the type Class<Map>
      [ERROR] Line 114:  The method isAssignableFrom(Class<capture#2-of ?>) is undefined for the type Class<Collection>
      [ERROR] Line 127:  The method isAssignableFrom(Class) is undefined for the type Class
      [ERROR] Line 162:  The method isAssignableFrom(Class) is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/core/util/Fields.java'
      [ERROR] Line 27:  The method getDeclaredField(String) is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/core/util/Primitives.java'
      [ERROR] Line 30:  Byte.TYPE cannot be resolved
      [ERROR] Line 32:  Short.TYPE cannot be resolved
      [ERROR] Line 33:  Integer.TYPE cannot be resolved
      [ERROR] Line 34:  Long.TYPE cannot be resolved
      [ERROR] Line 35:  Float.TYPE cannot be resolved
      [ERROR] Line 36:  Double.TYPE cannot be resolved
      [ERROR] Line 37:  Boolean.TYPE cannot be resolved
      [ERROR] Line 38:  Void.TYPE cannot be resolved
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/reflection/SerializationMethodInvoker.java'
      [ERROR] Line 40:  The method getDeclaredMethods() is undefined for the type Class<capture#1-of ? extends new Object(){}>
      [ERROR] Line 48:  The method synchronizedMap(HashMap) is undefined for the type Collections
      [ERROR] Line 161:  The method getDeclaredMethod(String, Class[]) is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/reflection/PureJavaReflectionProvider.java'
      [ERROR] Line 58:  The method getDeclaredConstructors() is undefined for the type Class
      [ERROR] Line 68:  The method isAssignableFrom(Class) is undefined for the type Class<Serializable>
      [ERROR] Line 113:  The method getClassLoader() is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/converters/reflection/FieldDictionary.java'
      [ERROR] Line 136:  The method getDeclaredFields() is undefined for the type Class
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/io/xml/XmlFriendlyNameCoder.java'
      [ERROR] Line 278:  The method clone() is undefined for the type Object
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/core/util/XmlHeaderAwareReader.java'
      [ERROR] Line 100:  The method isWhitespace(char) is undefined for the type Character
      [ERROR] Line 109:  The method isWhitespace(char) is undefined for the type Character
      [ERROR] Line 124:  The method isWhitespace(char) is undefined for the type Character
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/io/xml/XppReader.java'
      [ERROR] Line 17:  The import org.xmlpull cannot be resolved
      [ERROR] Line 18:  The import org.xmlpull cannot be resolved
      [ERROR] Line 32:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 42:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 54:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 56:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 60:  XmlPullParserException cannot be resolved to a type
      [ERROR] Line 80:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 80:  The method createParser() from the type XppReader refers to the missing type XmlPullParser
      [ERROR] Line 82:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 84:  XmlPullParserException cannot be resolved to a type
      [ERROR] Line 93:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 96:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 96:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 96:  Class<XmlPullParser> cannot be resolved to a type
      [ERROR] Line 109:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 110:  XmlPullParser cannot be resolved
      [ERROR] Line 111:  XmlPullParser cannot be resolved
      [ERROR] Line 113:  XmlPullParser cannot be resolved
      [ERROR] Line 114:  XmlPullParser cannot be resolved
      [ERROR] Line 116:  XmlPullParser cannot be resolved
      [ERROR] Line 118:  XmlPullParser cannot be resolved
      [ERROR] Line 123:  XmlPullParserException cannot be resolved to a type
      [ERROR] Line 131:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 135:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 139:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 143:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 147:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 151:  XmlPullParser cannot be resolved to a type
      [ERROR] Line 155:  XmlPullParser cannot be resolved to a type
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/io/xml/PrettyPrintWriter.java'
      [ERROR] Line 267:  The method isDefined(char) is undefined for the type Character
      [ERROR] Line 267:  The method isISOControl(char) is undefined for the type Character
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/core/util/Pool.java'
      [ERROR] Line 49:  The method wait() is undefined for the type Object
      [ERROR] Line 68:  The method notify() is undefined for the type Object
   [ERROR] Errors in 'jar:file:/C:/Users/YRC/Downloads/xstream-1.4.4.jar!/com/thoughtworks/xstream/core/util/Cloneables.java'
      [ERROR] Line 32:  Cannot invoke clone() on the array type Object[]
      [ERROR] Line 44:  The method getMethod(String, Class[]) is undefined for the type Class<capture#4-of ? extends Object>
   [ERROR] Cannot proceed due to previous errors
4

2 回答 2

3

您不能在 GWT 中使用反射;

  • getDeclaredFields

  • 获取声明方法

  • 名称

  • 获取构造函数

等等……都是反射性的调用;

于 2013-01-29T12:01:34.330 回答
0

GWt 不支持客户端的所有代码,因此我们可以在服务器中使用它。GWT 支持 RPC。http://www.vogella.com/articles/GWT/article.html或参考 https://developers.google.com/web-toolkit/doc/latest/DevGuideServerCommunication

您需要做的是在 lib 中包含所有 jar 并配置构建路径,并且仅在服务器端使用此代码。

于 2013-01-29T12:52:27.293 回答