繁体   English   中英

在还位于EAR内的JAR内时,WildFly无法识别EJB计时器(@Schedule)

[英]EJB Timer (@Schedule) not recognized by WildFly when inside a JAR which is also inside an EAR

我有一个包含3个WAR的EAR文件,以及lib /文件夹中的一些常见依赖项。 这些依赖项之一具有带调度方法的EJB,但是服务器似乎无法识别它。 日志中没有证据,没有执行代码。

但是,当我在WEB-INF / lib中使用相同的jar部署简单的战争时,它可以工作。 我已经尝试过使用maven插件将jar打包为ejb-jar,但没有成功。

关于必须怎么办的任何想法?

EAR的lib目录中的jar不视为EJB jar,因此在部署时不考虑其内容。 lib目录的存在仅是为了使提供库jar更加容易,这些jar jar的类对于EAR文件中的所有模块都是自动可见的。

您的EAR文件包含一个META-INF / application.xml文件,该文件列出了它包含的各种modules 在Java EE 6之前,仅考虑将ejb模块用于潜在的EJB。 Java EE 6和更高版本将Web模块添加到该列表。 Web模块的WEB-INF / lib目录中的所有jar都被认为是Web模块的一部分,即使它们包含ejb-jar。 在网络模块中找到的所有ejb-jar.xml文件都将合并在一起。 即使将Web模块部署为独立的WAR文件,这也适用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM