2013-12-22 2 views
9

Я очень новичок в Spring и Java в сети в целом, но я боролся с этим в выходные. Получение всей конфигурации вместе и получение Spring, работающего с градиентом на IntelliJ, было проблемой.Spring - Autowire java.lang.NoClassDefFoundError

Я пытаюсь реализовать еще один из моих проектов весной, чтобы лучше понять, как с ним работать.

Я получаю эту ошибку все утро, и я провел много ссылок и руководств по весне, но не могу понять, в чем проблема.

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private demo.models.company.CompanyService demo.models.company.CompanyController.companyService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'companyServiceImpl' defined in URL [jar:file:/Users/user/Documents/Project/demo/build/libs/demo-0.1.0.jar!/demo/models/company/CompanyServiceImpl.class]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/aspectj/util/PartialOrder$PartialComparable

Моя служба -

public interface CompanyService { 
    public Company create(Company company); 
    public Company delete(Long id) throws CompanyNotFoundException; 
    public List<Company> findAll(); 
    public Company update(Company company) throws CompanyNotFoundException; 
    public Company findById(Long id); 

} 

Моя реализация -

import org.springframework.stereotype.Service; 
import org.springframework.transaction.annotation.Transactional; 
import demo.exceptions.CompanyNotFoundException; 

import javax.annotation.Resource; 
import java.util.List; 


@Service 
public class CompanyServiceImpl implements CompanyService { 

    @Resource 
    private CompanyRepository companyRepository; 

    ..... 

} 

Мой контроллер -

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.ResponseBody; 

import java.util.List; 

@Controller 
@RequestMapping(value="/company") 
public class CompanyController { 

    @Autowired 
    private CompanyService companyService; 


    @RequestMapping("/list") 
    public @ResponseBody 
    List<Company> company(
      ) { 

     return companyService.findAll(); 
    } 
} 

Я следовал направляющие на Spring.io по строительству Услуги RESTful, а также несколько статей на JavaCodeGeeks (особенно - http://www.javacodegeeks.com/2013/05/spring-jpa-data-hibernate-mysql-maven.html).

Любая помощь была бы принята с благодарностью.

ответ

23

Вам кажется, что отсутствует библиотека aspectjweaver. Вы можете получить его here.

+0

@Aventus Каждый раз, когда вы получаете 'ClassNotFoundException' и вы не распознаете имя класса, просто перейдите к нему с термином' jar'. Обычно он найдет библиотеку, в которой вы можете найти класс. –

+3

Меня больше интересует, почему мне нужен аспектJ, мне нравится сглаживать и другие «магии» до минимума, так как он усложняет отладку при ударе и, поверьте, я видел, как они взорвались :( –

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