Netbeans развертывается при сохранении: как это должно работать?
Я пытаюсь правильно настроить развертывание при сохранении (или скомпилировать при сохранении, или как мне нужно) в Netbeans.
Я пытаюсь добиться этого:
1) Горячая замена некоторого класса при необходимости, если структура не изменилась (нажмите кнопку, новый код заменит старый)
2) скопировать мои страницы JSF (.xhtml) на Glassfish при сохранении
1) работает большую часть времени; иногда это не происходит после того, как я развернул много раз (почему?), или если Netbeans по какой-либо причине решает, что ему следует развернуть все (иногда...) 2), работает в одном проекте, а не в других
Похоже на черную магию.
Как это должно работать? Кажется, я не могу работать 1) и 2) одновременно над всеми своими проектами. Как мне это настроить? Должно быть, я сделал что-то не так, мне просто нужно знать, что такое контрольный список.
Я открыл это некоторое время назад: https://netbeans.org/bugzilla/show_bug.cgi?id=218806
ОБНОВЛЕНИЕ: это проект Maven
3 ответа
Это обновление от проблемы Jira должно прояснить это:
На данный момент есть две важные функции: -> Компилировать при сохранении (будет называться CoS), что в основном означает, что ваши java-файлы компилируются сразу же после их сохранения (обычно для цели / классов).
-> Развертывание при сохранении (будет называться DoS) - это дополнительная функция, которая позволяет развертывать изменения файла.class на сервере сразу после их сохранения.
Так что в настоящее время у вас есть несколько возможностей:
1) Включите оба (CoS и DoS) -> Это означает, что ваши измененные файлы.java будут скомпилированы при сохранении и повторно развернуты на сервере, а также ваши статические ресурсы (html, jsp и т. Д.) Будут скопированы на сервер после спасти.
2) Отключите DoS, но включите CoS -> в этом случае вы потеряете все, что связано с "обновлением сервера". Это означает, что вы должны иметь фактические файлы классов, скомпилированные в target/classes, но вы не увидите никаких изменений в браузере
3) Отключите оба -> NB позволит вам позаботиться о сборке / развертывании
-> Не имеет смысла включать DoS при отключенном CoS, поэтому, если вы отключите CoS, NetBeans автоматически отключит также DoS
Как мне это настроить?
Таким образом, вывод здесь заключается в том, что вы не делаете ничего плохого и не можете настроить это таким образом. NETBeans просто пока не поддерживает такую возможность. НО хорошо, что я сейчас начинаю работать над выпуском 218345, который именно то, что вам нужно. Появится новый флажок (уже доступный в веб-проекте Ant) под названием "Копировать статические ресурсы при сохранении", который позволяет копировать страницы html/jsp/jsf при отключенной DoS.
Я испытал точно такое же поведение. Нет проблем с Ant, но горячее развертывание с maven не работает должным образом. Пока что вы только что написали.
Ответ состоял в том, чтобы переключиться на Eclipse >= 4. Вы можете преобразовать свой проект NetBeans в консоли, используя maven:
mvn eclipse:eclipse
Все, что вам тогда нужно, это адаптер для вашего сервера приложений, например, для GlassFish. Попробуй, стоит попробовать.
Эти функции были добавлены в NetBeans, и в этом ответе показано, как их активировать:
щелкните правой кнопкой мыши по вашему проекту и выберите "Свойства". Теперь, нажмите здесь кнопку "Выполнить" и выберите "Сохранить при сохранении".