log4j / slf4j中断部署到glassfish 4

时间:2015-07-07 19:01:36

标签: java eclipse java-ee logging glassfish

我有一个EJB项目,我正在通过eclipse部署到Glassfish,以下代码行导致部署中断:

Logger L = LoggerFactory.getLogger(IPersonDao.class);

如果我删除此行,它可以正常工作。我可以保留slf4j import语句,如果我注释掉这一行,没问题。如果我启用它,Glassfish会出错:

  

java.lang.RuntimeException:无法加载EJB模块。 DeploymentContext不包含任何EJB。 ...

为什么呢?这没有任何意义,如果我使用log4j Logger或slf4j Logger,则部署会中断。注释掉那条线,它可以工作。

是什么给出了?

这是豆子:

import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import javax.ejb.Remote;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 *
 * @author martin
 */
@Stateless(name="HelloBean")
@LocalBean
@Remote
public class HelloBean {
    //private static Logger L = LoggerFactory.getLogger(HelloBean.class);

    public HelloBean(){
    //L.info("HelloBean created");
    }

    public String sayHello() {
    return "Hello";
    }
}

它可以工作,但是如果我取消注释日志记录行就会失败。

以下是deps:

  

org.slf4j
  slf4j-api 1.7.12       

     

ch.qos.logback
  logback-classic 1.0.13   

0 个答案:

没有答案