在服务器端使用引用项目中的java类?

时间:2012-11-24 23:17:35

标签: gwt

我有一个GWT项目,我想在另一个项目中使用服务器端的一些类:

MyServerProject
    com.me.myserverproject.server.Horse

SomeSupportProject
    com.me.somesupportproject.server.Animal

和MyServerProject Horse.java看起来像:

class Horse extends Animal {
}

在eclipse中,我有MyServerProject引用SomeSupportProject项目。所有编译都很好,GWT Compile运行正常,没有错误。

当我将MyServerProject部署到本地实例时,它会立即在“Animal.java”上抛出NoClassDefFoundError错误:

java.lang.NoClassDefFoundError: com/me/somesupportproject/server/Animal
  at java.lang.ClassLoader.defineClass1(Native Method)

我将SomeSupportProject标记为在eclipse项目属性中导出。但似乎Animal.java的类文件在部署时没有导出。我们是否需要在这里做一些特别的工作来实现这一目标?

我必须遗漏一些非常明显的东西,因为这是非常基本的东西。我有客户端java文件被引用很好,我认为这是更棘手的情况。但这些都是服务器端类,认为它会更简单,

由于

-------更新:项目设置---------------

关于我的环境的一些注意事项:

使用eclipse,这两个项目是并排的。我没有使用Ant或Maven。我将eclipse设置为自动构建,因此不会出现任何编译器错误。为了实际编译部署,我尝试右键单击“MyServerProject”,选择Google - > GWT编译。我将输出设置为“全部”。我没有得到任何编译错误。输出没有提到任何警告。

GWT编译完成后,我再次右键单击该项目,选择Run As - > Web应用程序。这就是抛出SomeSupportProject项目中找到的类的java.lang.NoClassDefFoundError。

如果有任何细节可以让我知道。

---------最终更新:解决了-----------------

在进行了更多工作之后,我们似乎无法添加项目引用并在部署的顶级项目中获得服务器端类。相反,我链接到SomeSupportProject中的“src”文件夹。这样事情仍然可以正常编译,但是在部署项目时,所有类都没有问题。

所以这真的是一个应用引擎问题,应该在那里标记它。

谢谢!

1 个答案:

答案 0 :(得分:0)

在进行了更多工作之后,我们似乎无法添加项目引用并在部署的顶级项目中获得服务器端类。相反,我链接到SomeSupportProject中的“src”文件夹。这样事情仍然可以正常编译,但是在部署项目时,所有类都没有问题。

所以这真的是一个应用引擎问题,应该在那里标记它。

谢谢!