2014-10-29 10 views
0

Я новичок в gcj и java, так что простите меня, если я пропущу что-то очевидное. Я пытаюсь скомпилировать YUICompressor с помощью gcj, и я получаю сообщение об ошибке, что он не может найти основной класс. У меня есть: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 находится в файле фляги, поэтому я не понимая, почему 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

Вам необходимо указать gcj все имя класса, включая пакет, который (в данном случае) com.yahoo.platform.yui.compressor.YUICompressor.

+0

Спасибо за нижний план. –

 Смежные вопросы

  • Нет связанных вопросов^_^