我有2个POJO,其中一个是EJB,另一个是帮助类。
//EJB Bean class
@Singleton
@LocalBean
@Startup
public class EJBBean{
@PostConstruct
public void init(){
HelperClass helper = new HelperClass();
helper.init();
}
}
//Helper class
public class HelperClass{
private static Log LOG = LogFactory.getLog("HelperClass");
private static Long currentTime = new Date().getTime();
public void init(){
//Some statements that use Log and do other Initialization
}
}
当我部署这个EJB jar时,我收到错误
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
我在类路径中有commons-logging-1.1.1.jar
;另外,我已将其配置为使用Log4J。作为没有EJB元数据的独立应用程序,它可以正常工作。我错过了一些EJB配置吗?
BTW我对EJB很陌生。我使用GlassFish 3.1,Eclipse Helios作为IDE和EJB3.1。
答案 0 :(得分:0)
这可能是因为您将commons-logging-1.1.1.jar
放入了错误的目录中,或者因为您的服务器已经提供了包含日志记录类的服务器范围的库。
顺便说一下 - 我记得很多奇怪的'NoClassDefFoundError',因为混合了commons-logging,log4j和slf4j(特别是在不匹配的版本中)。