当前位置: 首页 > 知识库问答 >
问题:

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

慕河
2023-03-14

首先是我的项目结构的一点输入。

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

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

总共涉及六个NetBeans项目:

    < li >包含所有模块的主EE项目。 < li>EJB模块项目 < li>Web客户端模块项目 < li >远程客户端模块项目 < Li > EJB远程接口的类库项目 < li >类库项目,包含实体类的“简化”形式的类,这些类最初位于EJB模块项目中。我之所以决定使用这些类而不是原始的实体类,是因为当分发到远程客户端应用程序时,我在序列化/反序列化它们时遇到了一些问题。

现在我将描述这些项目是如何相互联系的(通过参考上面的列表):

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

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

当我尝试将此EE应用程序(主EE项目)部署到GlassFish(V4.0)时,我不断收到这样一个错误:项目#6中定义的类在项目|5中不可见。项目35; 6中定义了一个“Product”类,该类用于项目"5的远程接口。在编写代码期间,我没有收到有关此问题的任何错误,因为引用放置正确。此外,主EE项目的清理和构建成功完成,但在部署时,我仍然会收到相同的错误:

package musicshop.entity.encapsulated does not exist
import musicshop.entity.encapsulated.Product;

注意:< code > music shop . entity . encapsulated 是包含“产品”类的项目#6中的包。此外,此< code >导入music shop . entity . encapsulated . product;是来自项目#5一个远程接口的线路。

此外,重要的是要提到这样一个事实,即在我从GlassFish中卸载应用程序并尝试重新部署它之前,整个事情都运行良好。

共有1个答案

柳俊健
2023-03-14

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

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

因此,我所要做的是消除额外的类库项目,并简单地将这些类复制到我需要使用它们的任何地方。现在,我已经将它们分散在其他项目中,这将使现在很难维护它们,但它确实解决了在html" target="_blank">服务器上部署的问题。

这样做之后,我记得我曾经尝试过做一些类似的事情-创建一个额外的类库项目,该项目将包含在需要使用的地方导入的内容,在GlassFish上部署应用程序时,我也遇到了同样的错误。当然,我解决这个问题的方式和解决这个问题一样。所以我想知道为什么不可能部署多个类库项目?有什么想法吗?

 类似资料:
  • 2. 项目部署 本章主要介绍如何部署Camel。 首先,介绍Vagrant这个虚拟机工具。借助Vagrant,我们可以保证本地开发及测试环境与线上环境的一致。 随后介绍slb-admin的部署。管理端本地也要安装Dengine,用以测试Nginx配置文件的语法是否正确。此外,还需要部署数据库:MySQL及MongoDB。 最后介绍Nginx服务器的部署。我们可以根据具体需求部署Nginx集群,每台

  • 描述 本文档提供了 3 种部署方式,对应 Jboot 里的 3 种打包方式。 通过 脚本 运行 在 打包方式 文档中,我们可以把项目打包成一个 .zip 的压缩包项目,里面带有 jboot.sh (和 jboot.bat) 执行脚本, 只需要我们解压 .zip 压缩文件,通过如下命令就可以对 jboot 项目进行启动和停止。 # 启动 ./jboot.sh start # 停止 ./jboot.

  • 部署中,你可以先构建打包生成环境代码,再启动服务。因此,构建和启动分为下面两条命令: next build next start 例如,使用now去部署package.json配置文件如下: { "name": "my-app", "dependencies": { "next": "latest" }, "scripts": { "dev": "next",

  • null 并得到错误。知道吗?

  • 正在启动GlassFish Server 4.1 GlassFish Server 4.1正在运行。就地部署在C:\users\mohamed\documents\netbeansprojects\webapplication1\build\Web GlassFish Server 4.1,deploy,null,false C:\users\mohamed\documents\netbeansp

  • App1是项目开发目录,这个目录的名称是可以修改的,比如修改为:App2 Cache/ 这个目录为项目缓存目录 Cache/Datacache/ 数据文件缓存 Cache/HtmlCache/ 静态html页面缓存 cache/template/ 模板文件缓存 Common/Common.php 项目函数 Config/Config.php 项目配置 Config/Home.Config.php