【发布时间】:2018-02-28 02:43:39
【问题描述】:
我正在使用 JBoss As 7 和 Java EE 6。我有一个空 beans.xml
我有一个像这样的记录器生产者..
@Singleton
@Startup
public class LoggerProducer {
private static Logger logger = Logger.getLogger(LoggerProducer.class.getName());
@Produces
public Logger produceLogger(final InjectionPoint injectionPoint) {
final String injectingClass = injectionPoint.getMember().getDeclaringClass().getName();
return Logger.getLogger(injectingClass);
}
}
在我的课堂上我注入如下...
@Inject
Logger logger;
我在每种情况下都导入 java util logger
import java.util.logging.Logger;
一切都正确部署,但是记录器的注入失败,如果我尝试使用注入的记录器,我会得到一个运行时 NullPointer
【问题讨论】:
-
..你必须修改 log4j.xml 文件..根据你的要求
-
嗨@idiotduffer,谢谢你的回复。我没有使用 log4j,但我使用的是 java util 日志记录。这使用
/standalone/configuration/logging.properties 中自动生成的 logging.properties 文件 -
您的 beans.xml 是否在正确的位置?您有 WAR 或 EAR 文件吗?你还注入其他有效的对象吗?
标签: jakarta-ee nullpointerexception cdi inject