NetBeans не нравятся библиотеки в lib-src - PullRequest
3 голосов
/ 17 апреля 2010

Я работаю над проектом с группой, которая использует Eclipse, но я использую Netbeans. До сегодняшнего дня это не было проблемой. При обновлении из репозитория они добавили некоторый исходный код в виде библиотеки в каталог с именем /lib-src. Когда я пытаюсь скомпилировать код, я получаю ошибку, что он не может найти определенные пакеты ... это пакеты в /lib-src.

Используя NetBeans, я могу добавить библиотеку как папку, так что теперь ссылки на эти пакеты счастливы. Тем не менее, я получаю эту новую ошибку при компиляции:

UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: Java heap space
    at java.util.HashMap.addEntry(HashMap.java:753)
    at java.util.HashMap.put(HashMap.java:385)
    at com.android.dx.dex.file.ClassDataItem.addStaticField(ClassDataItem.java:134)
    at com.android.dx.dex.file.ClassDefItem.addStaticField(ClassDefItem.java:280)
    at com.android.dx.dex.cf.CfTranslator.processFields(CfTranslator.java:159)
    at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:130)
    at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:85)
    at com.android.dx.command.dexer.Main.processClass(Main.java:297)
    at com.android.dx.command.dexer.Main.processFileBytes(Main.java:276)
    at com.android.dx.command.dexer.Main.access$100(Main.java:56)
    at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:228)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:134)
    at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:190)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:122)
    at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:190)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:122)
    at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:190)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:122)
    at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:190)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:122)
    at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:190)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:122)
    at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:190)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:122)
    at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:190)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:122)
    at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
    at com.android.dx.command.dexer.Main.processOne(Main.java:245)
    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)
    at com.android.dx.command.dexer.Main.run(Main.java:139)
    at com.android.dx.command.dexer.Main.main(Main.java:120)
    at com.android.dx.command.Main.main(Main.java:87)
/home/aaron/NetBeansProjects/xbmc-remote/nbproject/build-impl.xml:411: exec returned: 3
BUILD FAILED (total time: 1 minute 25 seconds)

Я могу включить файл build-impl.xml, если он вам нужен, но я не думаю, что это главная проблема.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 17 апреля 2010

Является ли dx.bat каким-либо образом вовлеченным, как в этой теме ?

Похоже, что встроенные в Android инструменты не используют переменную ANT_OPTS при запуске инструмента dex.
Проблему можно решить, раскомментировав строку в dx.bat командном файле.

Вы можете найти его в папке Android SDK под platforms/YOUR_PLATFORM/tools/dx.bat.
В самом конце файла есть комментированная команда для увеличения пространства кучи.
Раскомментирование этой строки должно решить проблему. Строка должна выглядеть так:

set javaOpts=-Xmx256M
1 голос
/ 17 апреля 2010

Вы можете попробовать увеличить пространство кучи, добавив «-Xmx512m» в качестве аргумента командной строки JRE. Это можно сделать навсегда, отредактировав netbeans.conf (или с помощью параметров JRE через IDE).

netbeans.conf находится в каталоге etc вашего каталога установки netbeans. Доступ к параметрам JRE, используемым NetBeans, можно получить, щелкнув правой кнопкой мыши свой проект в NetBeans и выбрав «Свойства» -> «Выполнить» -> «Параметры виртуальной машины».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...