我正在开发一个带有独立模块的项目。 管理员的后端,用户的客户端和核心用于共享DAO层的< strong>后端和客户端。
后端模块使用GWT,客户端使用Spring MVC。在后端模块中,deployment assembly包含核心模块。我的服务器端,DAO由Spring注入。
在核心模块中创建的所有bean(POJO)。我的问题是我想在我的gwt项目(后端模块)中使用来自核心模块的这些bean,或者在使用RPC调用时。我尝试了How can share bean from external library to GWT client?问题的答案,但还没有满足。我得到了以下错误
没有可用于类型的源代码 com.mycom.core.business.bean.TestBean; [错误]提示:检查 来自模块的继承链;它可能不会继承 所需模块或模块可能未添加其源路径条目 适当
这是我努力的代码......
TestBean.java
public class TestBean {
private int id;
public final int getId() {
return id;
}
public final void setId(int id) {
this.id = id;
}
}
beans.gwt.xml
<?xml version="1.0" encoding="UTF-8"?>
<module>
<inherits name='com.google.gwt.user.User'/>
<source path="com.mycom.core.business.bean.TestBean"/>
</module>
在我的App.gwt.xml中继承beans.gwt.xml为<inherits name='com.mycom.backend.beans'/>
。我错过了什么?
编辑:添加示例项目文件
现在我创建并上传了示例模块。您可以从google-drive URL下载。此存档文件包含后端和核心模块。
核心模块是从Eclipse IDE创建的简单java项目。
后端模块由gwt-ecliplse插件(2.7 gwt版本并包含生成的代码)创建,并添加Dynamic Web Module 2.5项目面。
最后,我使用 GWT-Eclipse插件构建并运行,你可以检查屏幕拍摄
类路径
源LookUp路径
模块
以下是我的控制台中的错误日志
Super Dev Mode starting up
workDir: /var/folders/mt/5287l4j94jd9rfqwqdqxr9zw0000gq/T/gwt-codeserver-7296341534601698800.tmp
Loading Java files in com.mycom.backend.App.
Ignored 1 unit 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.mycom.backend.client.Backend'
[ERROR] Errors in 'file:/Applications/springsource/workspace/backend/src/com/mycom/backend/client/Backend.java'
[ERROR] Line 41: No source code is available for type com.mycom.core.business.bean.TestBean; did you forget to inherit a required module?
[ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
[WARN] Server class 'com.google.gwt.dev.shell.jetty.JDBCUnloader' could not be found in the web app, but was found on the system classpath
[WARN] Adding classpath entry 'file:/Users/cataclysm/Desktop/eclipse%20(Luna)/Datas/gwt-2.7.0/gwt-dev.jar' to the web app classpath for this session
For additional info see: file:/Users/cataclysm/Desktop/eclipse%20(Luna)/Datas/gwt-2.7.0/doc/helpInfo/webAppClassPath.html
答案 0 :(得分:2)
GWT编译过程应该可以访问核心模块的源路径。确保将其添加到类路径或源查找路径中。
答案 1 :(得分:1)
beans
的模块文件应位于core
文件夹/库中。
尝试将其移至core/src/com/mycom/
并在beans.gwt.xml
中相应地修改源路径:
<source path="core"/>
请记住,它与模块文件有关。
然后修改App.gwt.xml
中的条目:
<inherits name='com.mycom.beans'/>
我不熟悉部署程序集,但请确保生成的库jar中存在beans.gwt.xml
(或与源一起复制)。