티스토리 뷰
혹시 다음과 같은 오류 메시지를 보신 적이 있으신가요?
type parameters of <T>T cannot be determined; no unique maximal instance exists for type variable T with upper bounds int,java.lang.Object
Eclipse에서는 이런 메시지가 나타나지 않지만 Ant Build로 서버에서 컴파일하려고 하면 나타나는 경우가 있습니다
에러 메시지를 살펴보면 매개변수의 타입이 정의되지 않았다는 것 같은데요.
int, java.lang.Object와 같이 명확하게 사용하라는 것 같습니다.
해당 오류를 찾아보니 자바 컴파일러의 버그 라고 하네요.
http://bugs.sun.com/view_bug.do;jsessionid=b25465a8a4d3cffffffffdd0a31aeee673b4?bug_id=6973465
위 글을 참고하면 우회할 수 있는 해결책(workaround)을 제시해 주고 있는데요.
Workaround is to cast return value to appropriate wrapper type before performing assignment:
바로 Cast 연산자를 통해서 리턴 타입을 다음과 같이 명시하면 된다고 합니다.
int i2 = (Integer)getValue();
float f2 = (Float)getValue();
테스트 해보니 잘 되네요.
이클립스에서는 컴파일이 오류 없이 되다가 서버에 Ant Build로 적용할 때 나타날 수 있는 오류이니 알아두시면 도움이 될 것 같습니다.
'프로그래밍 > Java' 카테고리의 다른 글
Java 서블릿을 활용한 엑셀파일 다운로드 기능 구현 (0) | 2012.08.22 |
---|---|
임시 비밀번호 생성하는 간단한 자바 소스 (0) | 2012.08.19 |
이클립스(Eclipse) 개발환경을 UTF-8로 설정하기 (1) | 2012.07.30 |
Java에서 표준시(Global Time)와 지방시(Local time)를 상호 변경하는 함수 (0) | 2012.07.18 |
Static 키워드 알고 사용하기~ (0) | 2012.07.16 |