Spring и maven зависимости
От: Аноним  
Дата: 20.09.13 10:58
Оценка:
Добрый день,

Есть тест, который работает внутри spring container:


import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { InfrastructureContextConfiguration.class })
public class SomeTest {
}


В классе InfrastructureContextConfiguration инициализируются Spring-бины, необходимые для реализаций jpa-сервисов.


@Configuration
@ComponentScan(basePackages = {"some.package"})
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = {"somepackagepath"})
public class InfrastructureContextConfiguration {



Запускаю я тестовые метод и получаю ошибку:

Caused by: java.lang.IllegalStateException: Cannot load configuration class: com.savdev.springmvcexample.config.InfrastructureContextConfiguration
...
Caused by: java.lang.IllegalStateException: CGLIB is required to process @Configuration classes. Either add CGLIB to the classpath or remove the following @Configuration bean definitions: [infrastructureContextConfiguration, org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration]


Добавляю зависимость:

        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib</artifactId>
            <version>3.0</version>
        </dependency>



Получаю след. ошибки:

Caused by: java.lang.IllegalStateException: Cannot load configuration class: com.savdev.springmvcexample.config.InfrastructureContextConfiguration
...
Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.util.TraceClassVisitor



Попытался использовать:

        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
            <version>2.2.3</version>
        </dependency>



Но там нет этого класса. Нашел его в:

        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm-util</artifactId>
            <version>2.2.3</version>
        </dependency>



Но теперь получаю ошибку:

Caused by: java.lang.IllegalStateException: Cannot load configuration class: com.savdev.springmvcexample.config.InfrastructureContextConfiguration
...
Caused by: java.lang.IncompatibleClassChangeError: Implementing class


Как самым правильным образом разобраться с проблемой? Как выяснить, какую версию использует спринг и где найти какой то справочник, чтобы не методом тыка подбирать версии и зависимости, а понимать, точно. Какой класс дает IncompatibleClassChangeError. Кто именно использует этот класс. Где найти jar файл. И какую версию?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.