我一直无法让 Super-Dev-Mode 与 GWT 2.7 一起使用。和 GXT 3.1.x 经典的 Dev-Mode 启动没有问题,但 Super-Dev-Mode 和 GWT-compile 项目将无法正常工作。
我目前正在 Windows 上使用带有 Java 1.7_2 的 Eclipse 4.4.2。因此,假设我们有 2 个 GWT/GXT 项目(无 Maven),使用 GWT 2.6 和 GXT 3.1.x(项目备份在存储库中)。
一个称为 A,另一个项目称为 B。项目 A 有许多包,没有入口点(仅作为库/框架工作),只是每个其他项目都必须扩展的抽象入口点。另一个叫做 B 并且继承自 A,入口点扩展了 A 的入口点。
在经典开发模式下在 GWT 2.6 下启动项目时,项目运行良好。升级到 GWT 2.7 时。它可以在经典的开发模式下正常工作,即使在超级开发模式下,代码服务器也开始运行,但是在编译模块时我收到一个错误,一些代码似乎不在包“客户端”下,所以我迁移了将其放入自己的包中,并将源路径添加到 A.gwt.xml。
修复此错误并再次启动 Super-Dev-Mode 后(以及尝试 GWT 编译时)我收到如下错误:
Ignored 15 units with compilation errors in first pass.
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
Finding entry point classes
Tracing compile failure path for type 'com.example.b.client.B'
[ERROR] Errors in 'file:/C:/Workspace/ProjectB/src/com/example/b/client/B.java'
[ERROR] com.example.a.client.A cannot be resolved to a type
[ERROR] Errors in 'file:/C:/Workspace/ProjectA/src/com/example/a/view/ExampleLayout.java'
[ERROR] com.example.a.view.ILayout cannot be resolved to a type
[ERROR] Errors in 'file:/C:/Workspace/ProjectA/src/com/example/a/client/service/ExampleServiceAsync.java'
[ERROR] com.example.a.model.Examplemodel cannot be resolved to a type
[ERROR] Errors in 'file:/C:/Workspace/ProjectA/src/com/example/a/model/OtherExampleModel.java'
[ERROR] com.example.a.hibernate.model.ComOtherExampleModel cannot be resolved to a type
[ERROR] Errors in 'file:/C:/Workspace/ProjectB/src/com/example/b/client/service/OtherExampleServiceAsync.java'
[ERROR] com.example.a.model.NewExampleModel cannot be resolved to a type
...
(and many more)
项目 A 包含在项目 B 的构建路径中,当创建自定义运行配置时,将项目添加到“用户条目”并将源文件夹添加到“用户”条目将不起作用。对于自定义运行配置,我使用了以下参数:
"-src src/ -src ${workspace_loc:ProjectA} com.example.b.B"
乃至:
"-src src/ -src ${workspace_loc:ProjectA} com.example.b.B com.example.a.A"
我广泛搜索解决方案,甚至尝试再次设置工作区,再次从存储库中签出项目,组织导入,甚至将每个包添加到 A 的构建路径中。
我还尝试将其添加到 .gwt.xml 文件中不起作用:
<add-linker name="xsiframe"/>
如何解决“无法解析为类型”错误?我非常感谢为解决这个问题提供的各种形式的帮助!谢谢!