2010-05-07 4 views
0

Я получаю ошибку java.lang.ClassNotFoundException: javax.ejb.EJBObject, когда я запускаю приложение как файл JAR. При запуске в Eclipse все работает нормально."java.lang.ClassNotFoundException: javax.ejb.EJBObject" при запуске JAR

Приложение правильно обращается к основному классу и основному методу. Но когда он пытается загрузить контекст приложения, он не может решить ссылку на компонент EJB. Затем я получаю следующую ошибку:

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 

Я включил все взаимозависимые зависимости с Maven в файле JAR.

Вы знаете какую-либо дополнительную информацию об этой ошибке?

+0

Когда я укажу путь к классам через командную строку, а не в MANIFEST.MF, я все равно получаю ту же ошибку. – 2010-05-07 12:14:50

ответ

0

Небольшой список вещей, чтобы проверить:

  • ли EJBObject класс находится в зависимости от объема provided?
  • Является ли JAR, содержащий класс EJBObject, действительно на пути к классу? I.e., вы либо добавляете его в путь класса при запуске JAR, либо используете onejar-plugin для установки ваших зависимостей в JAR?
  • Если вы используете onejar: действительно ли вы запускаете JAR, созданный onejar (myproject.one-jar.jar), а не тот, у которого нет зависимостей (myproject.jar)?
+0

Конечно, JAR, содержащий EJBObject, не находится в пути к классам. Несмотря на то, что в pom.xml указан параметр «compile», maven-jar-plugin не включал его в путь к классам. Это было связано с тем, что JAR также указывается в родительских pom als «provided». Странно, что установка родительского помпезиса отменила одного из детей. – 2010-05-10 06:11:38

Смежные вопросы