Eclipse 3.4 GWT 1.6项目 - 如何从其他项目中引用源代码?

Bod*_*den 19 eclipse gwt

我在Eclipse 3.4中有一个GWT 1.6项目,我正在尝试从我的工作区中的另一个(非GWT)项目引用源代码.我已将项目添加到构建路径,但我无法在托管模式下运行该应用程序.当我这样做时,我得到一个"没有源代码可用"的错误.

我做了一些搜索和阅读,并尝试了其他人建议的一些事情(包括从依赖项目创建一个jar并链接到它),但坦率地说没有任何效果.

如果你真的这样做,请你帮我一步一步的简单设置吗?我真的很感激,谢谢!

Upg*_*ave 16

我有2个Eclipse项目.一个是gwt项目,一个不是.这是适合我的目录结构:

workspace
-- gwt-project
   -- src/main/java
      -- com.gwt.GwtProjectModule
         -- GwtProjectModule.gwt.xml
-- non-gwt-project
   -- src/main/java
      -- com.nongwt.package.that.contains.source.you.need
         -- nongwt.gwt.xml
      -- com.nongwt.package.that.contains.source.you.need.client
Run Code Online (Sandbox Code Playgroud)

nongwt.gwt.xml告诉gwt查看"client"包里面,这是它的样子:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module rename-to='nongwt'>
    <inherits name='com.google.gwt.user.User' />
    <source path="client" />
</module>
Run Code Online (Sandbox Code Playgroud)

然后GwtProjectModule.gwt.xml可以从nongwt继承源代码.这是GwtProjectModule.gwt.xml内部的相关行:

<inherits name="com.nongwt.package.that.contains.source.you.need.nongwt" />
Run Code Online (Sandbox Code Playgroud)

确保在eclipse中的gwt-project的类路径中包含非gwt-project.这是正常的训练; 右键单击gwt-project,选择属性,选择"Java Build Path",单击"Projects"选项卡,然后选择"non-gwt-project"

或者,不要将gwt-project的类路径中的非gwt-project包含为项目引用,也可以将非gwt项目的内容包装起来,确保在jar中包含源代码,然后将jar包含在gwt-project的类路径.

祝好运!