java.lang.NoClassDefFoundError: org/aspectj/util/PartialOrder$PartialComparable

 

Junit 테스트 중 method 한개만 테스트 할때는 문제 없는데 

class 단위로 테스트 했을때 문제 생기면

<dependency>
	<groupId>org.aspectj</groupId>
	<artifactId>aspectjweaver</artifactId>
	<version>1.9.5</version>
</dependency>

 

 

 

@Service
public class TestServiceImpl implements TestService {
	@Override 
    public void testMethod(){
    	// ...
    }
}

 

위와 같이 @Repository 가 아닌 @Service로 등록했음에도 불구하고 Invalid bound statement 로 뜨면서 쿼리문을 못찾는다고 나옴

 

 

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.chris1108.mysite.service.TestService.testMethod
	at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:214)
	at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:48)

 

원인은 datasource-context.xml 에 설정했던 MapperScanner 때문 

@Repository 가 등록된 클래스들의 패키지를 확실하게 정하지 않은 상태여서 

실제 repository 들이 있는 com.chris1108.mysite.repository 가 아닌 

상위 패키지(com.chris1108.mysite ) 를 적었더니 해당 패키지에 위치한 @Service 까지도 mapper로 인식해 버리는 문제가 있었음. 

	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	  	<property name="basePackage" value="com.chris1108.mysite" />
	</bean>

아래와 같이 변경 후 해결 

	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	  	<property name="basePackage" value="com.chris1108.mysite.repository" />
	</bean>

 

2020-07-28 14:41:25.412 [restartedMain] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
2020-07-28 14:41:25.438 [restartedMain] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"]

spring batch 돌릴때 내장 톰캣이 기본으로 실행되는데 해당 톰캣 끄는 방법

 

spring.main.web-application-type=none

 

 

 

 

Caused by: java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder 

 

 

Java 9 부터는 sun.misc.BASE64Encoder 제공하지 않음

 

대신 java.util.Base64 를 사용할것

 

 

 

어쩔 수 없이 사용해야 할 경우 Java 8 이하로 사용

* Java 8 이하로 컴파일 해야할 뿐 아니라 돌리는 환경도 Java 8 이하로 돌려야 함

 

'Java' 카테고리의 다른 글

logger를 사용하자  (0) 2023.02.16
Java 면접 예상질문 질의응답  (0) 2023.01.31
wildfly jboss 서버 아이디 이름 확인  (0) 2022.01.20
Spring Batch embedded tomcat  (0) 2020.07.28
Map 선언 초기화 동시에  (0) 2019.10.24

아침부터 안 되던 것 드디어 해결하고

최종 테스트를 하기 위해 개발서버 서비스를 내리고 소스 수정하려고 하는데

?? 운영이네 ?? 

바로 서비스 다시 올린 후 이상 없음을 확인했지만

새해 첫날부터 큰 실수 한건 했네


망 분리하고
운영 터미널 쓸데없이 켜놓지 말자..

 

정말 한심하고 쪽팔린 실수지만

다 기록해서 항상 신경쓰자

'개발 일기' 카테고리의 다른 글

테스트 코드에서 auto increment 증가값 롤백  (0) 2023.04.24

bin 폴더 내에 version.sh

프로젝트 명 변경하려고 하면

Resource'프로젝트명' is out of sync with file system.

 

 

-> 프로젝트 들어가서 새로고침

 

다시 해당 작업 해보면 해결

Map myMap = new HashMap() {{

    put("key1", "value1");

    put("key2", "value2");

}};


 

'Java' 카테고리의 다른 글

logger를 사용하자  (0) 2023.02.16
Java 면접 예상질문 질의응답  (0) 2023.01.31
wildfly jboss 서버 아이디 이름 확인  (0) 2022.01.20
Spring Batch embedded tomcat  (0) 2020.07.28
java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder  (0) 2020.01.28

+ Recent posts