지금 있는 프로젝트에서 package-info.java 라는 것을 처음 보게 되었는데,
이클립스에서 컴파일하면 잘되는 소스인데 메이븐으로는 컴파일오류가 발생하였다.

"package annotations should be in file package-info.java"

컴파일 환경은 윈도우 + jdk 1.5 + maven-compiler-plugin 2.0.2 조합이었고,
메이븐 컴파일러는 외부 jdk를 쓰기 위해 fork=true로 설정했다.

   <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
     <fork>true</fork>
     <executable>C:/bea/jdk150_11/bin/javac.exe</executable>
    </configuration>
   </plugin>

구글링해보니 maven-compiler 플러그인이 소스 경로에 디렉토리 구분자로 / 사용하는데 원인이 있었다.

http://jira.codehaus.org/browse/MCOMPILER-71

이건 jdk의 버그라고 생각할 수도 있다. 하여간에,

윈도우 환경에서 이 오류를 해결하는 방법은?

1. fork하지 않고 컴파일
2. cygwin을 통해 컴파일



Posted by 에코지오
,