| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java tools & IDE's > Netbeans: как делать дистр в нужном месте |
| Автор: Andrey1 11.2.2011, 10:57 |
| Может кто знает как делать дистр проекта (не обязательно .jar) в отличном от ./dist и ./build месте? Это нужно по двум причинам: (1) дистр синхронизируется через SVN с удаленным сервером (где проект и запускается). SVN создает свои файлы в папке, которые потеряются при ее удалении. А NetBeans когда пересоздает ./dist ее самую и удаляет. (2) нужно иметь возможность запускать проект и вести разработку одновременно. Так как NetBeans при пересборке любит удалять файлы, а удалять их не получится, так как часть классов могут быть запущены и заблокированы, то и пересобрать проект (когда он запущен) может не получиться. |
| Автор: COVD 12.2.2011, 16:39 |
| Мы папку dist не включаем в репозиторий. Когда готова новая версия, то делаем все вручную - через программу удаленного доступа (Radmin) останавливаем приложение, переименовываем текущий dist и подкладываем новый dist. В случае проблем с новой версией легко вернуться на старую версию перезапуском приложения, поскольку dist предыдущей версии лежит рядом переименованный. На мой взгляд автоматизировать это средствами SVN смысла нет. Зачем лишние проблемы. Содержимое папки dist можно автоматически (при каждом build) копировать в нужное вам место добавлением строки в build.xml : <description>Builds, tests, and runs the project MyProject.</description> <import file="nbproject/build-impl.xml"/> <target name="-post-jar"> <copy file="${dist.jar}/" todir="."/> </target> <!-- |
| Автор: Andrey1 14.2.2011, 21:38 |
| Причины использовать для синхронизации SVN есть. Осталось понять, как лучше это сделать. |
| Автор: COVD 15.2.2011, 00:05 | ||
? Как такое возможно? Наверное же запускается одна копия, а девелопмент происходит на другой копии проекта. А SVN может быть использован для их синхронизации. Для этого приложение придется перезапустить. Очевидно, вручную. Разве что у вас всякий билд автоматически влечет за собой сабмит напрямую на сервер. Но тогда сабмит не пройдет, а билд должен быть успешен. Папку dist нельзя класть в SVN потому что она действительно удаляется и создается заново при билде. Но ее содержимое можно копировать в другую, неудаляемую папку. И спокойно сабмитить копию в SVN. В приведенном мною примере build.xml последним шагом билда будет копирование файла *.jar из dist в корень, т.е. рядом с папкой dist. Вот эту копию файла и можно включить в SVN и сабмитить при необходимости. |