首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 6在NetBeans 7.3.1中的项目部署错误

Java 6在NetBeans 7.3.1中的项目部署错误
EN

Stack Overflow用户
提问于 2013-10-21 23:14:51
回答 1查看 224关注 0票数 0

首先,我的项目结构的小输入。

这是一个由三个模块组成的网络商店项目:

  • EJB
  • 远程桌面客户端
  • Web客户端

总共涉及6个NetBeans项目:

  1. 包含所有模块的主EE项目。
  2. EJB模块项目
  3. Web客户端模块项目
  4. 远程客户端模块项目
  5. EJB远程接口类库项目
  6. 类库项目,包含实体类的“简化”形式的类,这些类最初位于EJB模块项目中。我决定使用这些类而不是原始实体类的原因是,在向远程客户端应用程序分发时,在序列化/反序列化这些类时遇到了一些问题。

现在,我将描述这些项目是如何相互联系的(参考上面的清单):

  • EJB项目包含对#5和#6的引用。
  • Web客户端项目包含对#2的引用
  • 远程客户端项目包含对#2、#5和#6的引用。
  • EJB远程接口项目包含对#6的引用

因此,所有项目( web模块除外)都包含对包含简化或“封装”形式的实体类的项目的引用。

当我试图将这个EE应用程序(主EE项目)部署到GlassFish (v4.0)时,我一直收到这样的错误,即项目#6中定义的类在项目#5中不可见。在项目#6中定义的“Produc”类用于项目5中的远程接口。在编写代码过程中,由于引用的位置正确,我没有收到关于这个问题的任何错误。此外,主EE项目的清理和构建也成功完成,但在部署时,我仍然会得到相同的错误:

代码语言:javascript
复制
package musicshop.entity.encapsulated does not exist
import musicshop.entity.encapsulated.Product;

注意:musicshop.entity.encapsulated是来自项目#6的包,包含"Product“类。而且,这个import musicshop.entity.encapsulated.Product;是来自项目5的一个远程接口的行。

同样重要的是,在我从GlassFish中卸载应用程序并试图重新部署应用程序之前,这一切都很好。

EN

回答 1

Stack Overflow用户

发布于 2013-10-22 13:54:43

我很高兴地说,我已经找到了解决这个问题的办法。它不漂亮,但在我找到另一种方法之前,它会达到目的。

我发现在GlassFish上只能部署一个类库项目。我过去只有一个这样的项目,一个包含EJB远程接口的项目。但是,当我创建另一个类库项目时,它将保存实体类的简化版本(我这样做是为了将所有这些类保存在一个地方,并在需要使用它们的地方导入它们。这样,如果我想做一些编辑,我只需要做一次。)

所以,我要做的是消除这个额外的类库项目,只需在需要使用它们的任何地方复制这些类。现在,我已经将它们分散到其他项目上,这将使维护它们变得困难,但它确实解决了在服务器上部署的问题。

在这样做之后,我记得我曾经尝试过做一些简单的事情--创建额外的类库项目,其中包含一些需要导入的东西,而且在GlassFish上部署应用程序时也有同样的错误。当然,我用和这个一样的方式解决了这个问题。因此,我想知道为什么不可能部署多个类库项目?有什么想法吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19506453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档