部署EJB项目时警告"ejb-api-3.0.jar' contains offending class: javax.ejb.EJB"的含义

Meaning of warning "ejb-api-3.0.jar' contains offending class: javax.ejb.EJB" when deploying EJB project

当我使用 EJB 3.0 部署我的 Web 应用程序时,我看到了这个警告:

WARNING: jar 'E:\mws\MCDS\portal\portal-web\target\portal-web-1.0.0\WEB-INF\lib\ejb-api-3.0.jar' contains offending class: javax.ejb.EJB. It will be ignored.

我的网络应用程序正常启动,但我想知道为什么会出现警告,这是否是一个严重的问题。

我是 EJB 的新手,也许这是个愚蠢的问题。感谢阅读。

您收到此警告是因为您在申请中包含了 ejb-api-3.0.jar。此 jar 中的 类 由您正在使用的服务器实现提供,因此不应打包在您的应用程序中。

Servlet (3.0/3.1) 规范的§15.2.1 指出:

Servlet containers that are part of a Java EE product should not allow the application to override Java SE or Java EE platform classes, such as those in java.* and javax.* namespaces, that either Java SE or Java EE do not allow to be modified.