26 марта 2012 в 22:33

Среды разработки на Java, или от Netbeans к Eclipse из песочницы

В одной из крупных гос. компаний ведем небольшим коллективом разработку САПР на платформе Java
Проекту уже полтора года.
До недавнего времени все дружно использовали IDE Netbeans. Периодически радовались новым версиям среды.
И вот ваш покорный слуга увидел релиз Netbeans 7.1. Захотелось попробовать, посмотреть новинку.
Сначала обновил себе (Slackware Linux 12.2). Запустил, открыл проект, собрал (скомпилировал).
Все прошло нормально. Посоветовал коллеге (Windows 7), сам продолжил работу в новой версии.

Тут началось невообразимое. Сборка проекта прошла нормально, а при его выполнении появились странные Exception-s. При щелчке на Exception редактор Netbeans открыл пустое место в коде, где был вообще комментарий, а не какой-либо метод.
При этом сборка того-же проекта вручную с помощью Ant и последующий запуск из командной строки дали абсолютно корректный результат.

Был сделан вывод, что Netbeans 7.1 запускает какой-то собственный кэш, а не только что скомпилированные Java-классы!

Вывод подтвердился, действительно Netbeans имеет свой кэш в домашнем каталоге пользователя. Но его очистка (удаление папки .netbeans), а также многократная пересборка проекта, выкачивание заново из хранилища версий никакого результата не дали. Запуск в среде по-прежнему производился некорректно. Проблема решилась только тогда, когда проект Netbeans был создан заново и в него были импортированы все исходники.

Однако, когда дело дошло до обновления среды у моего коллеги на Windows, то подобные танцы с новой версией начались заново, продолжались еще сутки и ни к чему не привели. Проект на Windows так-же запускался некорректно, причем выдавая другие ошибки в других местах кода.

В общем, мы решили перейти на Eclipse. Пока частично, остальные разработчики пока используют Netbeans 7.0.1.

Первые дни разработки под Eclipse Indigo оставили и хорошие, и плохие впечатления. Пришлось все с нуля настраивать, создавать проекты на базе исходных кодов, привыкать к другому интерфейсу.
Но это прошли, и видимо будем и других пересаживать на Eclipse, т.к. работать со средой, дающей непредсказуемые ошибки из-за собственных глюков — врагу не пожелаешь.

А все-таки жаль. Чем на мой взгляд Eclipse уступает Netbeans, так это интуитивностью интерфейса.
И вообще странно, как такое могло произойти с зарекомендовавшей себя средой разработки Netbeans!
–2
31909
6
Koyotter 5,5

Комментарии (17)

+3
vajadhava, #
Просто из любопытства спрошу: а что вам помешало пользоваться той версией NetBeans которая у вас до обновления на 7.1 была? По идее всей команде теперь у вас Eclipse изучать придется, время потратите.
0
Koyotter, #
Ну, вообще-то ничего не мешало. Так и делает до сих пор 2/3 команды. Но — с другой стороны — ведь обновляться все-равно придется рано или поздно. Скакать через 3-4 версии более рискованно, бывают несовместимости.
Еще сыграла популярность Eclipse и превеликое множество плагинов под нее.
А вообще думаю — новых членов команды сажать на Eclipse, а остальные пусть на свой страх и риск действуют.
Но тогда встает вопрос — как собирать проекты без привязки к среде. Видимо, придется еще изучать всякие штуки типа Maven…
+1
DieSlogan, #
Было бы очень здорово, если бы вы написали репорт в нетбинс комьюнити.
0
Koyotter, #
Написал.
+2
AndrewStephanoff, #
Почему я работаю в Eclipse и не могу перейти на другой редактор — отличнейший поиск по типам, навигация по членам класса, поиск в иерархии типов. Для Java — breadcrumbs по namespaces (правда я больше PHP разработчик, но приходится). Единственная IDE, которую мог бы сравнить — это Visual Studio.
+5
dzzh, #
В том числе и по этим причинам использую Идею.
+14
crmMaster, #
www.jetbrains.com/idea/
Советую. Даже community edition уделывает по удобству эклипс.
0
Koyotter, #
Idea — смотрел. Понравилось. Но в сommunity edition столько всего нет (и плагинами не доберешь), что хочется платную. А платную в госконторе — это месяцы макулатуры.
0
Koyotter, #
Ну, вообще-то ничего не мешало. Так и делает до сих пор 2/3 команды. Но — с другой стороны — ведь обновляться все-равно придется рано или поздно. Скакать через 3-4 версии более рискованно, бывают несовместимости.
Еще сыграла популярность Eclipse и превеликое множество плагинов под нее.
А вообще думаю — новых членов команды сажать на Eclipse, а остальные пусть на свой страх и риск действуют.
Но тогда встает вопрос — как собирать проекты без привязки к среде. Видимо, придется еще изучать всякие штуки типа Maven…
+1
dzzh, #
Так ведь мавеном гораздо удобнее собирать, чем инструментами среды. Дайте разработчикам код, и пусть каждый его пилит в чем удобнее. Зачем себя ограничивать?
0
eugenius_nsk, #
А если у IDE есть нормальная интеграция с мавеном и прозрачная работа непосредственно с мавеновскими проектами — вообще отлично.
0
safright, #
Сходные ощущения — последний где-то год любимые нетбинсы напоминают мамонта, отправившегося умирать — плагины не поддерживаются, с самой средой периодически твориться черте-что, выпуски с 7 несовместимы и т.д. Один я это связываю с покупкой ораклом и его «чудо-маркетингом» (больше цифирок, красивых и больших и побыстре-побыстрее!)?
0
iZENfire, #
Среда NetBeans «испортилась» примерно с 6-й версии. С этой версии начались глюки на операционных системах, отличных от Windows.

У Eclipse всегда были проблемы в подборе рабочего набора плагинов из определённых версий дополнений. После обновления среды на не-Windows системах с большой вероятностью наблюдался полный или частичный отказ заявленных функций — «кнопки есть, но не работают» — приходилось пользоваться тем, что есть в поставке релиза, без обновлений. И ждать следующего мажорного релиза.
+1
elDraco, #
Единственный возможный кэш у бобовой IDE в случае ant-проекта это каталог build, туда компилится только то, что изменилось после последней компиляции если хотите полную пересборку то надо не построение запускать, а чистку с построением. В случае запуска проекта из среды jar как таковой не собирается, а запуск идёт из каталога build. Возможно у вас некорректно сконвертировался файл проекта, что могло повлечь некорректную сборку. В этом смысле меня очень радует поддержка Netbeans'ом maven'а у меня в проекте кроме pom-файла и nb-configuration.xml нет абсолютно ничего лишнего, а в nb-configuration.xml вообще обычно практически ничего нет. В общем выкиньте уже ant и переходите на maven и Netbeans продолжит вас радовать.
0
Koyotter, #
Эх, если бы это было так… Нет, есть еще .netbeans/var/cache/*. где частично лежат скомпилированные файлы классов, только с расширением .sig.
Очистку с построением делал раз 10 подряд. И удаление каталога build тоже не помогало. К сожалению, это мы проходили…
+1
slash80, #
было такое. решилось удалением содержимого ~/.netbeans/7.1/var/cache
куда-то переходить из-за такого «мелкого» и редко проявляющегося глюка желания не возникло
0
slash80, #
на самом деле можно было весь ~/.netbeans/7.1/var/ безболезненно зачистить

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.