在部署EJB项目时警告“ejb-api-3.0.jar”包含违规类:javax.ejb.EJB“的含义

时间:2015-11-15 11:59:51

标签: java ejb tomee

当我使用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的新手,也许这是一个愚蠢的问题。谢谢你的阅读。

1 个答案:

答案 0 :(得分:1)

您收到此警告是因为您已在应用程序中包含#if defined(__GLIBCXX__) && (__GLIBCXX__ < 20120322) typedef std::chrono::monotonic_clock steady_clock; #else typedef std::chrono::steady_clock steady_clock; #endif 。此jar中的类由您正在使用的服务器实现提供,因此不应打包在您的应用程序中。

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

  

作为Java EE产品一部分的Servlet容器不应允许应用程序覆盖Java SE或Java EE平台类,例如java。*和javax。*命名空间中的那些,Java SE或Java EE不能允许修改。