둘러보기 생략.
 

Sample 설치하면 발견한 몇가지 주의사항

담당자님,
제가 뭔가 잘 못한 것일 수도 있으니, 확인하셔서 정확한 내용 전달 부탁드립니다. ^^

1. Java SE 6 사용주의

SE5와 SE6는 Annotations Processing 방식이 달라서인지,
일단 SE6을 사용하게되면 annotation 사용한 소스가 에러가 떨어집니다.

2. Java SE 6을 설치하고 Properties에서 Java Compiler의
JDK Compliance > Compiler compliance level을 5.0로 하면,

다른 에러는 잡아졌지만, 아래의 에러가 발생합니다.

anyframe-sample-services 프로젝트의 DataSourceSpy 클래스 상에서 ...

The type DataSourceSpy must implement the inherited abstract methodWrapper.isWrapperFor(Class<?>)
The type DataSourceSpy must implement the inherited abstract method Wrapper.unwrap(Class)

이유는 SE6에서 DataSource 클래스의 Wrapper 클래스가 변경된 annotation을 사용하고 있어
에러가 나는 상황 같습니다.

=> 즉, 현재 사용해본 바로는 SE5 버젼을 사용해야만 정상적으로 잘 컴파일 되는 것 같습니다.
이것이 맞는 상황이라면, Java SE6 사용에 대한 주의사항을 사용자들이 인지하기 쉽게 설명되어
있었으면 합니다.

3. Sample Application 설치문서상의 오류(!)

설명에서 보면 "Sample Application을 실행하기 위해서는 Anyframe Core및 Anyframe Web가 설치되어 있어야 한다." 라고 되어 있는데요. 제가 확인해 본 바로는
Core에 있는 64개 라이브러리로만으로는 상당수의 클래스에 오류가 발생하였습니다.
즉, AnyFrame Web에 포함된 106개의 라이브러리로 지정해주니 에러없이 컴파일 되었습니다.

=> 제가 잘 못 확인한 것이 아니라면, 설명서의 내용을 "Anyframe Core및 Anyframe Web"가 아니라 Anyframe Web 를 설치해야한다고 수정되어야 하지 않을까 싶습니다.

감사합니다.

답변입니다.

안녕하세요. Anyframe에 관심 주셔서 감사합니다.
>> 1, 2. Annotation이 에러로 표현되는 것은 이클립스의 Annotation processing이 Java 6을 지원하지 않아서 발생하는 것입니다. JDK Compliance > Compiler compliance level을 5.0으로 설정하면 해결이 됩니다.
이 방법 외에 anyframe-sample-services가 설치된 디렉토리의 커맨드 프롬프트 창에서 ant를 실행하면 Annotation을 에러로 인식하지 않습니다. 다만 2번에서 말씀해 주신 에러가 아래와 같이 발생합니다.

The type DataSourceSpy must implement the inherited abstract methodWrapper.isWrapperFor(Class<?>)
The type DataSourceSpy must implement the inherited abstract method Wrapper.unwrap(Class)

이것 역시 설명해주신대로, DataSource 클래스가 구현하는 Wrapper 인터페이스에 Java SE 6부터 추가된 abstract 메소드 unwrap과 isWrapperFor가 구현되지 않았기 때문에 발생한 것입니다.

Java SE 6를 사용하면서 Sample Application을 구동하려면 DataSourceSpy 클래스에 unwrap과 isWrapperFor을 구현하거나, DataSourceSpy를 사용하지 않도록 설정하면 됩니다.

의견 주신대로 Sample Application 설치 문서에는 Java SE 6 사용에 대한 주의사항을 알 수 있도록 하겠습니다.

>> 3. Anyframe Web만 설치할 경우에는 Anyframe Web의 구동을 위해 필요한 Anyframe Core 또한 포함하므로 에러가 발생하지 않습니다. 의견 주신대로 설치문서에 코멘트를 추가하도록 하겠습니다.

현재는 Anyframe Sample이 업데이트 되어 Anyframe Web이 Sample Application에 포함되어 배포되므로 따로 설치하실 필요가 없습니다. 참고하시기 바랍니다.

소중한 의견 감사합니다.