运行JAR时出现“java.lang.ClassNotFoundException:javax.ejb.EJBObject”

时间:2010-05-07 12:05:59

标签: java jar ejb-3.0

当我将应用程序作为JAR文件运行时,我收到java.lang.ClassNotFoundException: javax.ejb.EJBObject错误。在Eclipse中运行时,一切正常。

应用程序正确访问主类和main方法。但是当它尝试加载应用程序上下文时,它无法解析对EJB bean的引用。然后我得到以下错误:

Error creating bean with name 'bc' defined in class path resource [blabla.xml]:
    Initialization of bean failed; 
nested exception is 
    java.lang.NoClassDefFoundError: javax/ejb/EJBObject 
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275) 
        ... 
Caused by: 
    java.lang.ClassNotFoundException: javax.ejb.EJBObject

我在JAR文件中包含了Maven的所有运行时范围的依赖项。

您是否知道有关此错误的更多信息?

1 个答案:

答案 0 :(得分:1)

要检查的一小部分内容:

  • EJBObject类是否位于具有provided范围的依赖项中?
  • 包含EJBObject类的JAR是否真的在类路径上?即,您是在运行JAR时将其添加到类路径中,还是使用onejar-plugin将依赖项放入JAR中?
  • 如果您正在使用onejar:您是否真的在运行由onejar(myproject.one-jar.jar)创建的JAR,而不是没有依赖项(myproject.jar)的JAR?