2014-10-29 2 views
0

저는 gcj와 java를 처음 접했습니다. gcj를 사용하여 YUICompressor를 컴파일하려고하는데 주 클래스를 찾을 수 없다는 오류가 발생합니다.gcj가 jar 파일의 주 클래스를 찾지 못했습니다.

~/java/yuicompressor.2.4.8> gcj --main=YUICompressor -g -o yuicompress build/yuicompressor-2.4.8.jar 
/tmp/ccbNVkUt.o: In function `main': 
/tmp/ccbuUbZw.i:11: undefined reference to `YUICompressor::class$' 
collect2: ld returned 1 exit status 

내가 YUICompressor 클래스는 jar 파일 내에있는 것을 알고, 그래서 GCJ가 표시되지 않는 이유를 나는 이해하고 있지 않다 : 나는이

~/java/yuicompressor.2.4.8> jar -tf build/yuicompressor-2.4.8.jar | grep YUICompressor.class 
com/yahoo/platform/yui/compressor/YUICompressor.class 
~/java/yuicompressor.2.4.8> find . -name YUICompressor.java -exec grep -H "\bmain\b" {} \; 
./src/com/yahoo/platform/yui/compressor/YUICompressor.java: public static void main(String args[]) { 
./build/build_tmp/com/yahoo/platform/yui/compressor/YUICompressor.java: public static void main(String args[]) { 

YUICompressor.jar 파일이 작동하는 것 같다 Java에서 호출 된 경우에는 문제가 없지만 대상 시스템에 설치된 Java에 종속되지 않는 바이너리로 배포하려고합니다. 모든 제안을 부탁드립니다.

답변

0

패키지를 포함한 전체 클래스 이름을 (이 경우) com.yahoo.platform.yui.compressor.YUICompressor으로 지정해야합니다.

+0

downvote에 감사드립니다. –

관련 문제