java.lang.NoClassDefFoundError:com/sun/logging/LogDomains运行单元测试时
我正在运行一个引发以下错误的单元测试:java.lang.NoClassDefFoundError:com/sun/logging/LogDomains运行单元测试时,java,unit-testing,jakarta-ee,glassfish,glassfish-3,Java,Unit Testing,Jakarta Ee,Glassfish,Glassfish 3,我正在运行一个引发以下错误的单元测试: java.lang.NoClassDefFoundError: com/sun/logging/LogDomains at com.sun.enterprise.util.ORBManager.<clinit>(ORBManager.java:93) at com.sun.enterprise.naming.SerialInitContextFactory.<clinit>(SerialInitContextFact
java.lang.NoClassDefFoundError: com/sun/logging/LogDomains
at com.sun.enterprise.util.ORBManager.<clinit>(ORBManager.java:93)
at com.sun.enterprise.naming.SerialInitContextFactory.<clinit>(SerialInitContextFactory.java:65)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:175)
myCode
我如何回避这个问题
看起来是这样的,除了我在评论中提到的一个巨大的破坏者:
问题是,他们似乎把一堆罐子炸开,然后把它们装回glassfish embedded all
中。你最好希望你使用的是他们在那里打包的同一个slf4j版本,因为他们没有给出一种方法来排除他们给你的东西。一定有更好的办法
FWIW,我将部署到Glassfish 3
也许我需要阻止我的单元测试进入这一行。但是当我发现一个
NoClassDefFoundError
为什么会发生这种情况时,我觉得很奇怪?看起来像是netbeans的bug——有很多关于它的信息this@Mani我没有使用netbeans。我用的是intellij
try {
Context c = new InitialContext(); //line that errors
return (T) c.lookup(name);
} catch (NamingException ne) {
log.error(ne.getMessage(), ne);
throw new RuntimeException(ne);
}