Ant Eclipse 의 auto compile 과 ANT의 compile

황제낙엽 2007.02.28 15:21 조회 수 : 279 추천:64

sitelink1  
sitelink2  
sitelink3  
1) 첫번째 : 프로젝트를 수행중 Eclipse의 output 디렉토리를 변경해보았다.
그리고 Eclipse의 auto compile이 수행되었다.
에러도 없었고 경고도 없었다.

2) 두번째 : 윈도우 탐색기에서 output 디렉토리의 내용을 강제로 삭제한 후 ANT의 build를 이용하여 compile을 해보았다.
첫번째와 다르게 경고도 보이고 에러가 발생하면서 compile이 중지 되었다.
에러의 내용은 다음과 같다.
    [javac] D:NECProjectkinden_devsrccomnecjpctradedbaccessDBSessionJdbc.java:123: 警告: oracle.jdbc.pool.OracleConnectionCacheImpl の setCacheScheme(int) は推?されません。
    [javac] connectionPool.setCacheScheme(OracleConnectionCacheImpl.FIXED_RETURN_NULL_SCHEME);
    [javac] ^
    [javac] D:NECProjectkinden_devsrccomnecjpctradedbaccessDBSessionJdbc.java:127: 警告: oracle.jdbc.pool.OracleConnectionCacheImpl の getConnection() は推?されません。
    [javac] Connection connConection = connectionPool.getConnection();
    [javac] ^
    [javac] D:NECProjectkinden_devsrccomnecjpctradefunctionCTradeMSaveMessage.java:26: コ?ドが大きすぎます。
    [javac] static CTradeTrace trace = new CTradeTrace(CTradeMSaveMessage.class.getName());
    [javac] ^
    [javac] エラ? 1 個
    [javac] 警告 9 個
BUILD FAILED
D:NECProjectkinden_devbuildbuild.xml:21: Compile failed; see the compiler error output for details.

에러의 내용은 자바소스의 내용이 너무나 크기 때문에 컴파일 할 수 없다는 내용이다.
해결책은 소스의 내용을 분리시켜 크기를 줄이는 수밖에 없다.
원인을 예상한다면 동일한 JAVA_HOME환경으로  동일한 컴파일러를 사용한다고 가정했을때 차이점은 compile 옵션의 차이가 아닐까 생각되었다. (단지 예상일뿐...)
그 이후 귀찮아서 더 이상의 분석은 하지 않았다. 그냥 Eclipse의 auto compile 옵션으로 컴파일하고 ANT로 deploy를 하기로 하였다.
만일 이후에 위의 현상에 대한 보다 구체적인 분석이 들어가지 않으면 안 될 일이 발생한다면 몹시 괴로울 듯 싶다.