Итак, у меня есть проект maven, который производит пакет jar, содержащий некоторые задачи ant.
Когда я запускаю свой скрипт сборки Ant в другом месте с открытой jpda и отлаживаю задачи, скажем MyTask с NetBeans, кнопка Apple Code Changes не работает. Вот вывод консоли netbeans:
cd /trunks/tasks; JAVA_HOME=/opt/jdk /opt/netbeans-7.0/java/maven/bin/mvn -Djpda.stopclass=com.abc.ant.MyTask compile
Scanning for projects...
------------------------------------------------------------------------
Building tasks 1.0-SNAPSHOT
------------------------------------------------------------------------
[resources:resources]
Using 'UTF-8' encoding to copy filtered resources.
Copying 1 resource to com/abc/ant
[compiler:compile]
Compiling 1 source file to /trunks/tasks/build/classes
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 1.548s
Finished at: Fri Mar 09 17:45:24 CST 2012
Final Memory: 11M/149M
------------------------------------------------------------------------
NetBeans: classes to reload: []
NetBeans: No class to reload
Итак, Netbeans успешно сообщает Maven, какой класс нужно скомпилировать. Однако NetBeans не будет перезагружать скомпилированный класс. Это из-за того, что мой процесс ant использует пакет jar, созданный проектом Maven, или по другим причинам?
Примечание: у меня есть несколько пользовательских конфигураций, например, куда выводить скомпилированные классы и где поместить пакет jar. Может ли это быть причиной?
Обновление 2:
ОК. Я сам нашел причину.
Это потому, что я добавил следующую строку под <build>
в pom.xml:
<directory>${my.custom.work.dir}/build</directory>
Поэтому maven будет выводить скомпилированные файлы классов в этот каталог, а не по умолчанию ${basedir}/target
. Однако Netbeans кажется слишком глупым, чтобы это признать - он просто пытается использовать каталог по умолчанию.
Теперь вопрос может быть намного проще: есть ли способ заставить IDE распознать это, добавив конфигурацию в pom?