Głupi Spring nie rozumie, że klasa została przeniesiona

0

Maiłem klasę w module web w ścieżce

com.web.web.security.service.impl.AuthorizationServiceImpl

przeniosłem tego beana do modułu core ze ścieżką

com.core.service.impl.AuthorizationServiceImpl

Po prostu kliknąłem lewy przycisk myszy na klasę i przeciągłem. Klasa została przeniesiona. Jednak podczas kompilacji wyrzuca mi

2018-04-04 02:10:15.578  WARN 1688 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.web.WebApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'authorizationService' for bean class [com.core.service.impl.AuthorizationServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.web.web.security.service.impl.AuthorizationServiceImpl] As if IntelliJ did not know that I moved the class to another package and throws me into conflict with the previous place, but the class is not there anymore.

Adres to package jest zmieniony automatycznie https://zapodaj.net/4751327f1e63b.png.html.

Czemu tak się dzieje?

1

Raczej podczas uruchamiania, nie kompilacji.

Jesteś pewien, że przeniosłeś a nie skopiowałeś? I sprawdź czy na pewno tej skompilowanej klasy tam nie ma (.class, nie .java), w folderze target/build zależnie czego używasz. Mogło być tak, że usunałeś plik źródłowy a skompilowany tam został, albo miałeś uruchomiony kontener i zrobiłeś jakiś hot-reload i nowy się dodał a stary pozostał.

Najlepiej to zastopuj wszystko, zrób mvn clean i próbuj od nowa :p

0

Spróbuj uruchomić polecenie clean w Mavenie.

1

Pytanie czy moduł web i core mają ten sam kontekst. Czy te beany są konfigurowane przez adnotacje, czy xml, czy java config?

0

Czy masz może wpis w konfiguracji:

<context:component-scan base-package="com.web.*" />

A głupi spring nie skanuje np. com.core ?

0

Pomogło usunięcie folder out generowanego automatycznie przez IntelliJ.

1 użytkowników online, w tym zalogowanych: 0, gości: 1