![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Andrey1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: нет Всего: 5 |
Хочу поделиться ... э... непонятками при сборке приложений (веб-приложение с связанными java модулями) в NetBeans (6.7.1):
1) Сборка (при любом малом изменении в коде) относительно долго идет, из-за всякой фигни: 1*) Тупая пересборка jar"ников модулей, от которых проект зависит. Да, clean-build. Тупо и долго. Почему нельзя перекомпилить только изменненые классы и их же заменить в jar"нике? 2*) Почему нельзя jar"ник и нужные классы частично держать в памяти? Как только все идет через хард, понятно, что все будет медленно работать. 3*) Почему NetBeans не умеет перегружать изменные jar-либы проекта? ![]() 4*) И все тоже самое для war-архива (если он используется). 2) Часто при попытке деплоя выскакивает некая ошибка (вроде `D:\...\MyClass.java:7: package mypackage does not exist'), которая потом куда-то внезапно пропадает при повторной сборке. 3) Передеплой не всегда нормально работает из-за того, что tomcat почему-то "хватает" и не отпускает какие-то jar"ники, которые проект использует (помогает только stop-start томката). Что в этим всем делать? ![]() Это сообщение отредактировал(а) Andrey1 - 27.8.2009, 09:06 -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 6 Всего: 43 |
А вы как это делаете? Я сначала удаляю из webapp старый war. Дожидаюсь сообщения в консоли, что приложение удалено. Потом кладу в webapp новую версию. Дожидаюсь сообщения, что приложение стартовало. Обычно все нормально. Правда у меня много мелких приложений (без обилия библиотек), которые быстро собираются и быстро стартуют-удаляются. |
|||
|
||||
Andrey1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: нет Всего: 5 |
Через закладку Services - жму undeploy. Потом жму Run. -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
powerOn |
|
||||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Дык, Clean-Build - это "Стереть и построить". Можно делать просто Build - тогда пересоберутся только измененные классы.
Смонтируй в своей ОС in-memory диск и на время работы храни проект на нем, если хочешь чтоб скорость доступа была как в оперативной памяти. ![]()
При дебаге хоть по одному классу перегружай (Apply Changes). В остальном случае трудно сказать, поскольку я таких проблем не испытывал. Не сталкивался. Возможно поможет опция в contex.xml для неблокировки jar-ов. Но обычно такая штука бывает если делать Apply Changes в дебаг режиме, но тут ничего не поделаешь - особенность JVM. А в целом: ничего идеального не существует. ;) |
||||||
|
|||||||
Andrey1 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: нет Всего: 5 |
Это да. Только проект, который зависит от java модулей, вызывает почему-то Clean-Build для модулей, если в них были изменения.
Да, у меня была такая идея, тока слишком много ненужных мне проблем может быть. И ничего смешного ![]() Ага, только "Apply Changes" не работает, если меняется схема класса. Ну и с jar-никами не работает в принципе.
С этим проблем не было, хвала буддийскому богу ![]() Понятно. Но всегда нужно стремиться к лучшему ![]() -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
||||||
|
|||||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Если у вас есть четкое понимание того, как должен происходить билд для связанных проектов, то в принципе, ничто не мешает самостоятельно подкорректировать ant-скрипты.
|
|||
|
||||
Andrey1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: нет Всего: 5 |
Да, все к этому и идет. Тем более, если захочется иметь два релиза: test и production и хочется выкладывать классы прямо на сервер (без копирования либ). -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java tools & IDE's | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |