Сегодня утром я столкнулся с неприятным вопросом, который стоил мне несколько часов, пытаясь проследить его. Я унаследовал некоторый код с двумя проектами NetBeans, A
и B
. Они оба строят и работают успешно; нет сложных задач построения Ant; только настройка IDE по умолчанию.
Эти два проекта имеют большой объем кода, поэтому я включил его в новый третий проект Common
. После разрешения ссылок и т.д. NetBeans не сообщает об ошибках. Все кажется прекрасным. Я строил проект Common
без заминок. Тогда все становится странным.
Внезапно, когда я пытаюсь построить проекты A
и B
, они компилируются просто отлично - но в конце сборки каждый из них обрывается с той же ошибкой:
Copying 1 file to C:\Projects\projectName\build
C:\Projects\projectName\nbproject\build-impl.xml:723: The following error occurred while executing this line:
C:\Projects\projectName\nbproject\build-impl.xml:543: taskdef class org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs cannot be found
using the classloader AntClassLoader[]
BUILD FAILED (total time: 3 seconds)
Все .class
файлы отображаются в build/classes
, и все остальное, кажется, прошло гладко, но ничего не делает в папку dist
. Поэтому начинается поиск проблем CopyLibs
.
Люди предложили убедиться, что org-netbeans-modules-java-j2seproject-copylibstask.jar
был правильно указан в файле project.properties
(это было), а также в файле <userhome>/.netbeans/version/build.properties
(это было). Библиотека существует во всех местах, на которые она ссылается; на самом деле, по умолчанию NetBeans помещает копию этой банки в папку ./lib
всех проектов Java. Я пробовал создавать совершенно новые проекты и приводить источники в ручную, безрезультатно. Я был озадачен.
Я размещаю здесь, надеясь, что:
- Возможно, кто-то может дать мне некоторое представление о , как это произошло в первую очередь и как его избежать.
- Возможно, кто-то может сказать мне , почему только некоторые проекты ломаются, даже если все имеют точно такой же файл
project.properties
или являются совершенно новыми. - Люди с этой проблемой в будущем будут иметь лучшее время.