Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou" / 10 сообщений из 10, страница 1 из 1
30.09.2014, 12:00
    #38761726
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou"
Ничего понять не моуг в lib-е класс
Код: plaintext
OrderComparator.java
есть, а в лог выходит это:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSourceProvider
	at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:200)
	at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:126)
	at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:540)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:454)
	at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658)
	at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624)
	at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672)
	at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543)
	at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484)
	at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
	at javax.servlet.GenericServlet.init(GenericServlet.java:158)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5229)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5516)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1763)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399)
	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:828)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
	at sun.rmi.transport.Transport$1.run(Transport.java:178)
	at sun.rmi.transport.Transport$1.run(Transport.java:175)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:174)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:557)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:812)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:671)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.OrderComparator$OrderSourceProvider
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
	... 57 more

Что ему надо??
...
Рейтинг: 0 / 0
30.09.2014, 12:03
    #38761729
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou"
NDAlekseyНичего понять не моуг в lib-е класс
Код: plaintext
OrderComparator.java
есть, а
OrderComparator$OrderSourceProvider это другой класс.

NDAlekseyCaused by: java.lang.ClassNotFoundException: org.springframework.core.OrderComparator$OrderSourceProvider
Что ему надо??
Разве не очевидно?
...
Рейтинг: 0 / 0
30.09.2014, 12:05
    #38761732
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou"
Какая версия Spring Core? Почемы ты смотришь .java файл, а не .class?
...
Рейтинг: 0 / 0
30.09.2014, 12:06
    #38761736
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou"
Похоже spring-context и spring-core разных версий.
...
Рейтинг: 0 / 0
30.09.2014, 12:12
    #38761755
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou"
BlazkowiczПохоже spring-context и spring-core разных версий.
...
Рейтинг: 0 / 0
30.09.2014, 12:15
    #38761759
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou"
BlazkowiczКакая версия Spring Core? Почемы ты смотришь .java файл, а не .class?

прошу пардона.... в джарнике конечно же .class
...
Рейтинг: 0 / 0
30.09.2014, 12:18
    #38761766
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou"
BlazkowiczРазве не очевидно?

Я так полагаю, что этот провайдер - внутренний класс? Но как же я в .class увижу содержимое класса? Вот я в lib-е java-класс и смотрю:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
package org.springframework.core;

public class OrderComparator implements java.util.Comparator<java.lang.Object> {
    public static final org.springframework.core.OrderComparator INSTANCE;

    public OrderComparator() { /* compiled code */ }

    public int compare(java.lang.Object o1, java.lang.Object o2) { /* compiled code */ }

    protected int getOrder(java.lang.Object obj) { /* compiled code */ }

    public static void sort(java.util.List<?> list) { /* compiled code */ }

    public static void sort(java.lang.Object[] array) { /* compiled code */ }

    public static void sortIfNecessary(java.lang.Object value) { /* compiled code */ }
}
...
Рейтинг: 0 / 0
30.09.2014, 12:19
    #38761770
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou"
NDAleksey,

spring-beans 4.1.0

идешь сюда
и видишь на 200й строчке создаётся DefaultListableBeanFactory, он, и зависит от OrderComparator.
А DefaultListableBeanFactory он из spring-beans
...
Рейтинг: 0 / 0
30.09.2014, 14:46
    #38762089
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou"
BlazkowiczNDAleksey,

spring-beans 4.1.0

идешь сюда
и видишь на 200й строчке создаётся DefaultListableBeanFactory, он, и зависит от OrderComparator.
А DefaultListableBeanFactory он из spring-beans

Вы опять в +100500 раз меня выручили! Спасибо!

P.S. Но как можно было догадаться, что дело именно в версионности? Я собирал проект с 4.0.3.RELEASE версией core и beans и все собралось и задеплоилось отлично. У меня больше двух недель шла борьба с версиями spring и hibernate - не стыковались. Это нормально?
...
Рейтинг: 0 / 0
30.09.2014, 14:53
    #38762103
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou"
NDAlekseyP.S. Но как можно было догадаться, что дело именно в версионности?

Любая несовместимость в структурах классов сторонних библиотек. Тем более на столько популярных, что это никак не может быть актуальным багом.

NDAlekseyЯ собирал проект с 4.0.3.RELEASE версией core и beans и все собралось и задеплоилось отлично.
1) Для компиляции нужен только API. А реализация API и её зависимости не нужны.
2) Реализации и зависимости зависимостей нужны в рантайме.
3) Ошибка не возникает при деплое, потому что Java релизует ленивую загрузку классов и классы грузятся, только перед тем когда они нужны.
Поэтому подобные ошибки могут вообще воздника только в неких специфических сценариях.


NDAlekseyУ меня больше двух недель шла борьба с версиями spring и hibernate - не стыковались. Это нормально?
Нет. Нормально пойти и прочитать в документации какая версия одного API совместима с какой версией другого.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Что за "java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSou" / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]