我已经读到不可能在 GWT 客户端代码中运行GSON,但可以在服务器代码中运行它。
后一个是我正在努力实现的,但没有开始工作。我认为 com.whatever.server 包中的任何类都可以访问整个 JRE 命名空间,包括反射。似乎情况并非如此。那么如何管理所有这些开发人员在 GWT 服务器代码中使用 GSON?(我是 GWT 的新手,所以答案可能很简单。)
谢谢。
编辑:我的设置如下:
- test.gwt.xml 包含:
<source path='client'>
和<source path='shared'>
- 客户端使用
private final TestServiceAsync testService = GWT.create(TestService.class);
和调用testService.testMethod();
- TestService 接口和 TestServiceAsync 位于包客户端
- 在 test.server 中实现的 TestServiceImpl 使用
Gson g = new Gson();
等等
抛出的异常是java.lang.NoClassDefFoundError: com/google/gson/Gson。但似乎无论该方法是否包含 GSON 代码都会引发它(它包含 GSON 导入语句就足够了)。
引起:java.lang.ClassNotFoundException:com.google.gson.Gson 在 java.net.URLClassLoader$1.run(URLClassLoader.java:200) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:151) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 33 更多