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

无法装入 EJB 模块

施权
2023-03-14

我正在学习企业应用程序开发课程。我是JSF的新手。我正在尝试使用 Glassfish 3.1 使用 JSF 和 Netbeans IDE 部署我的应用程序。

下面列出了我得到的错误。

< code >部署期间出错:准备应用程序时出现异常:无法加载EJB模块。DeploymentContext不包含任何EJB。检查归档文件以确保F:\ Seagate \ docs backup \ netbeans projects \ ent-app-dev \ slam ka _ project 1 \ build \ web的正确打包。如果您使用ejb组件注释来定义EJB,并且还使用了EJB或web部署描述符,请确保部署描述符引用了Java EE 5或更高版本的模式,并且元数据完成属性没有设置为true,以便可以按预期处理组件注释。有关更多详细信息,请参见server.log。

下面是我对EJB的引用。

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.ejb.EJB;
@EJB

任何帮助将不胜感激。

编辑:这是一个Java的Web应用程序。

编辑战争文件结构树

  • 元信息/清单。中频
  • 网络信息/类
  • WEB-INF/lib/primefaces-2.1.1.jar
  • WEB-INF/web.xml
  • 索引.shtml

我的文件在 xhtml 文档中没有 EJB 标记。它具有下面列出的内容。


共有3个答案

裴兴学
2023-03-14

原来这个问题是SQL语句中的一个打字错误(1和l[小写字母L]),我需要在项目上做一个“清洁和建造”。感谢那些努力帮助我解决问题的人。

元胡媚
2023-03-14
匿名用户

所以你有Web应用程序,它不是ejb-jar,它是Web模块,应该打包到*. war存档中。
结构应该是

    <李> *。war/META-INF/persistence . XML <李> *。战争/元信息/清单。MF <李> *。war/WEB-INF/sun-web.xml <李> *。war/WEB-INF/web.xml <李> *。war/WEB-INF/classes/ -包中编译的类 <李> *。war/WEB-INF/lib/ - libs <李> *。war/index.jsp -主页

< code>sun-web.xml的示例

<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">
<sun-web-app>
  <context-root>/app</context-root>
</sun-web-app>  

如果您使用的是Maven,您可以使用maven-war-plugin

楚宇
2023-03-14

将 web.xml web 应用程序属性版本更改为 2.5 或更高版本可解决此问题。

更新了网络.xml的网络应用程序元素将是,

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 类似资料:
  • 将遗留项目迁移到雅加达 EE 8(在 Wildly 26 上构建 Maven EAR)我正在努力使依赖项注入从我的实体模块(EJB 打包)工作到 WAR 模块,maven 项目结构是: 该结构是基于Wildfly-jakartaee8-with-tools原型创建的 我要注入的DAO是一个@Stateless豆,它使用@LocalBean无接口例如。 我的 CDI 代码是 WAR 模块中的标准@R

  • 我使用的是NetBeans 8.0.2、JDK1.8和Glassfish 4。我还使用了另一个配置,使用了NB 7.3.1、jdk 1.7和GF 3.1.2和相同的结果。 我正在创建一个新的Java EE项目,只有一个EJB模块。当我尝试部署EJB模块时,我得到以下错误: 这是服务器日志: 我已经证实了这个.罐子是存在的。我找遍了所有地方,也没有找到类似的东西。我能做什么?Netbeans、Jav

  • 我正在尝试将JMS队列注入到无状态EJB中。我的代码看起来是这样的: 当我试图将其部署到应用程序服务器(Wildfly 9.0.2)时,引发了以下异常 如果我将mappedName更改为远程JNDI名称,它就会起作用 或者我将无状态EJB切换到一个依赖的CDI Bean Wildfly配置如下所示: 那么,为什么不能将JMS队列注入到无状态EJB中,为什么它可以在CDI bean中工作呢?我做错了

  • 问题内容: 我是python新手,遇到了一个我无法解决的问题。我想在python中安装和使用spacy软件包。因此,我打开cmd并运行 安装依赖项时,出现错误消息: 命令““ c:\ users \ xxx \ appdata \ local \ programs \ python \ python37 \ python.exe” -u -c“导入设置工具,标记化; 文件 =’C:\ Users

  • 问题内容: 使用新的EJB 3.1规范,是否可以将EJB注入pojo?我知道在EJB 3.0中,@ EJB批注可用于注入EJB,但这不适用于简单的pojos。 如果不是,我必须在JNDI中查找bean,因为我知道您不能简单地使用new关键字。 问题答案: 是的,使用JNDI查找。 由于您的POJO是由您创建的(我假设),因此容器不负责注入依赖项。

  • 问题内容: 每当我想测试使用资源注入的类时,我最终都会包含一个仅在测试中使用的构造函数: 还有另一种模拟资源注入的方式,或者这是遵循的正确模式吗? 问题答案: 您可以使用简单的光泽效果,它可以模拟EJB注入系统。 另一种方法是在测试中使用反射来设置字段,我有时使用类似这样的内容: