Linux-дистрибутивы для разработки Java
Просто есть ли какие-либо дистрибутивы Linux для разработчиков Java?
Настоящий герой Sun мог бы услышать о преимуществах использования Solaris в качестве платформы разработки Java, но я гораздо более амбивалентен. Разработка с Java примерно одинакова для любого дистрибутива linux; вам нужно будет установить JDK и инструменты по вашему выбору (Eclipse, Sun Studio, Tomcat и т.д.), чтобы вы могли также выбрать дистрибутив по другим критериям… возможно, насколько вам комфортно, насколько легко управление пакетами, и если внешний вид соответствует вашим привычкам развития, все это большие факторы.
Итак, чтобы более точно ответить на ваш вопрос, разработчик Java преуспел в любом крупном дистрибутиве Linux, который им удобен в использовании. Если вы хотите, чтобы какая-то полезность Java из коробки, Fedora 9 и Ubuntu 8.04 имеют OpenJDK (и NetBeans) в соответствии с недавнее объявление.
Не слушайте ни одного из этих noobs, предлагающих один дистрибутив над другим. Java – это Java, и почти все дистрибутивы могут установить java как таковую:
Если бы речь шла о создании RPM, то, очевидно, RH/CentOS/Fedora было бы желательно по deb-дистрибутивам, источникам дистрибутива или любому другому формату, который вы любите. Однако из-за характера Java конкретный дистрибутив применим только в том случае, если OP can not формулирует свое собственное мнение и должен следить за тем, что делают другие люди.
Повторить. Нет java-дистрибутива, используйте все, что вы нажмете на землю.
… это сказано… Я лично использую Archlinux. Archlinux работает над выпуском готовых релизов, поэтому у него, скорее всего, будет более новая версия JDK, чем “disto-up-get dist-upgrade & sleep 6 месяцев” в мире.
Кроме того, я полностью готов к тому, чтобы получить downvoted, но, пожалуйста, оставьте меня выше 50, чтобы я мог еще прокомментировать, спасибо!
В серьезной ноте Linux-дистрибутив Linux не предназначен, поэтому он будет примерно таким же.
OpenSolaris с другой стороны (в моем очень скромном опыте) будет немного быстрее, и у вас будет бонус Dtrace как инструмент. (Не то, что вы не можете найти похожие инструменты в Linux, но Dtrace должен быть несколько более продвинутым).
Я очень сильно разбираюсь в разработке Java, и я лично использую Ubuntu, поэтому я согласен с Sean на этом.
Менеджер пакетов позволяет вам легко установить различные SDK (SUN one или даже предстоящий OpenJDK 7).
Я использовал Ubuntu 8.04 и Fedora 9 с успехом.
Для Ubuntu форумы сообщества были очень полезными, и если я правильно помню один из репозиториев, предоставленных apt-пакетами для распространения Sun Java6.
В Fedora 9 Sun rpms работает нормально.
В любом случае альтернативный/альтернативный – ваш друг, чтобы убедиться, что вы указываете “java” и “javac” на установке Sun. Я использую Netbeans 6.1 и Eclipse 3.4 для Fedora 9_x64 без проблем.
Просто будьте осторожны с установкой дистрибутива java. Большинство устанавливают gcj по умолчанию. По какой-либо причине, набрав “java” в bash для большинства дистрибутивов linux, вы не будете запускать Sun JVM без какого-либо futzing.
Как правило, там должна быть куча софт-ссылок из /usr/local/bin → $JDK_HOME/bin/*, чтобы заставить вещи работать, как я обычно их ожидаю.
Я думаю, что мотив этого вопроса сосредоточен на удобстве настройки: есть ли какой-либо дистрибутив с Eclipse и полным пакетом Sun Java (JRE, JDK и DOCS), уже “испеченным”, так что процесс ручной установки (и удаление OpenJDK) не требуется?
Наличие “готовой” стандартизованной среды для команды разработчиков – это огромная экономия времени. Если у вас еще нет доступа к Java-опытному SysAdmin для Linux, который поможет вам выполнить автоматическую установку вашего компьютера, обучение, достаточное для того, чтобы сделать это самостоятельно, определенно расстраивает.
Немногие разработчики любят тратить свое время на работу с внутренними компонентами ОС, чтобы получить инструменты, такие как Glassfish, Derby, Groovy, Grails, GWT и т.д. все работают вместе. Они предпочитают напрямую обращаться к написанию кода и изобретать вещи в личной песочнице, которая использует ранее существовавшую экосистему встроенных служб…
На стороне развертывания, имея общую установку Linux, которая не требует конфигурации на уровне системы для конечных пользователей, кроме установки их любимых Java-приложений, файл .JAR станет еще одной большой победой.
Там определенно есть рынок для кого-то, чтобы обеспечить это, но большинство людей просто сжимают зубы и делают это для себя.
Я никогда не слышал о дистрибутиве Linux, специфичном для Java-разработчика.
Если вам нужен дистрибутив Linux для рабочих целей (а не для личного использования дома), то на выбор дистрибутива на самом деле не влияет тот факт, что вам нужно установить JDK, но другие факторы:
- как быстро его можно установить?
- насколько легко поддерживать (обновления и т.д.)?
- как полнофункциональный он из коробки?
- Насколько хорошо это поддерживается? (коммерческая поддержка, если вам это нужно, в противном случае насколько хороша поддержка сообщества?)
Мои предложения для целей работы: Ubuntu и Suse были полезны для меня. У меня нет опыта с другими упомянутыми (например: Fedora).
В принципе, получите дистрибутив, который “просто работает”. Все, что вам нужно (JDK, IDE и т.д.), Почти наверняка будет легко установлено там.
У меня был приятный опыт работы с блоком питания Mandriva 2008. Выберите что-то вроде разработки → “java tools”, и все установлено для вас.
Все, что есть Sun JRE, JDK и eclispe.
Solaris по умолчанию установила 64-битное ядро, хотя…..
Последняя версия Ubuntu. Это достаточно просто, и у вас есть пакеты Sun Java, Eclipse, NetBeans, GlassFish, TomCat и другого программного обеспечения, связанные с разработкой Java, поэтому у вас нет проблем с установкой и настройкой с нуля.
Вы можете выбрать любой из доступных дистрибутивов bcoz, а не linux-дистрибутив специально для разработки Java. Лично я много работал над RHEL 5, Fedora 9, Mandriva.
Работа с java одинакова для любого дистрибутива Linux после установки jdk, tomcat, eclipse и т.д.
Как отметил Nick Stinemates, Gentoo – отличный дистрибутив для разработки Java. Это один из немногих Distros, который, как я знаю, имеет очень активную группу поддержки Java, и почти все, что люди регулярно используют, уже упаковано.
Будьте осторожны, Gentoo – это не просто простой дистрибутив для использования Ubuntu – вам нужно немного понять, как работает ОС, но он обеспечивает отличную среду разработки.
Дистрибутив, который, по моему мнению, наиболее дружественный для разработчиков, Gentoo. Поскольку вы скомпилируете все с нуля, вы выбираете именно то, что составляет вашу систему. Java можно установить очень легко, так что вы могли бы просто создать оконную среду и Java (кроме стандартной цепочки инструментов).
Для начала: большинство – если не все – дистрибутив linux позволяет вам “легко” установить (то есть: используя диспетчер дистрибутива) jdk и jre. Выбор существенный – это больше о том, какой аспект распределения наиболее важен для вашего личного вкуса.
Personnaly, я пришел к оценке общей стабильности распределения (как в: обновления базовой системы более или менее гарантированы, а не на шланги – моя рабочая станция – за один день до даты доставки) больше, что заставило меня придерживаться debian в течение последних нескольких лет.
Цена за это – либо “sudo apt-get dist-upgrade && sleep 6 months”, как указывает theman_on_vista, или просто установите соответствующий материал в /opt. В конце концов, установка некоторых jdk, maven или ant и eclipse | netbeans достаточно проста (черт, там даже есть документация где-то я уверен:))
Oracle JVM со своего сайта будет иметь одинаковую скорость для debian, archlinux и slackware (и, вероятно, их производных). Лучше всего настроить параметры JVM для веб-серверов/IDE, которые вы можете использовать. Помните, что java для x64-архитектур будет потреблять больше памяти из-за более крупных указателей поворота, поэтому вам будет полезно настроить размер кучи соответственно. Особенно, если вы не хотите, чтобы ваш сервер останавливался с исключением OutOfMemoryError.
В то время как на самом деле это не дистрибутив, для Tomcat. Его можно легко адаптировать для других развертываний на основе Java (доступно для нескольких технологий виртуализации).
Есть также несколько виртуальных машин Java App Server, доступных из VMWare (только VMWare).
Источник
Настраиваем рабочее окружение для разработки на Java под Linux
Ну вот, эпоха моего вынужденного эникейства подошла к концу. Снова я в своей струе, занимаясь своей любимой java, правда, все равно с некоторым таким горьким послевкусием. Разрабатывая ПО для банков и до этого периодически отходя к 1С, почему то у меня теперь четкая ассоциация с тем, что пишу туже конфигурацию 1С, но только на джаве. Ладно, хоть мозги снова запущу, деградировавшие на прошлой работе.
Как всегда заведено в программерских конторах, работать приходилось под Линуксом. Почему-то в офисе любимым дистрибутивом оказался Mint, уж с чем такое связано мне не понять. Упрощенный Убунту уж явно путь в никуда, только упрощенный синтаксис apt уже заставляет лениться и потом работая в Debian как-то себя не очень комфортно начинаешь ощущать.
Ну что поделать, Mint так Mint. Остается лишь настроить для разработки рабочее окружение.
Итак, сама разработка ведется на старой java 1.7, потому как ядро программы написано именно на ней. Поэтому я и решил написать такой небольшой мануал для тех, кто столкнется с такими небольшими проблемами.
Итак, пишем на java 1.7, используем IntelliJ IDEA Community в качестве IDE, SQL Developer в качестве управления базами данных, git и maven в качестве сборщика.
Вот тут есть небольшие нюансы, о которых я и хотел рассказать. В Ubuntu и его производные уже входит OpenJDK, что нам в корне не подходит. Ну не совсем они совместимы с оракловой джавой, хоть ты тресни. В итоге его сносим:
Все, больше дефолтный jdk нас не беспокоит. Теперь нужно установить нужные нам версии оракловой джавы. Сразу сделаю уточнение – мой стенд работает на джаве 1.7, а вот последняя версия sql developer – на jdk 1.8. Поэтому нам нужно будет установить обе версии. Нам нужно будет подключить нужный оракловый репозиторий, для этого в терминале введем:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java8-installer
На самом деле, здесь я немного сделал не совсем правильный ход, удалив сначала openjdk. Гораздо лучше сначала установить оракловые пакеты, а потом сделать чистку дефолтного пакета, чтобы зависимости не нарушились. Но у меня система была чистая, поэтому я могу так поступить. Вы же делайте на свое усмотрение.
Итак, обе версии джавы установлены в системе. Однако есть одно «но» — при запуске команды java –version вам система покажет, что установлена именно 1.8 в качестве jdk по умолчанию. Лично меня это в корне не устраивает. К счастью, в Debian подобных системах можно легко переключаться между различными версиями джавы всего одной строчкой кода:
sudo update-java-alternatives -s java-7-oracle
Соответсвенно, эта же команда будет для переключения на джава 8, только вместо цифры 7 нужно поставить 8.
Если захотите указать java 1.7 в качестве дефолтной системы, делается это командой:
sudo apt-get install oracle-java7-set-default
Теперь установим Sql Developer. Вот здесь и начинаются пляски с бубном, так как этой среды пока нет в виде deb пакетов. Что ж, выкрутимся таким способом:
1. Выкачиваем rpm пакет на компьютер.
2. Теперь при помощи утилиты alien мы преобразуем скачанный пакет в deb. У меня это версия 4.1.5.21.78, поэтому команда будет выглядеть в моем случае так:
sudo alien ./sqldeveloper-4.1.5.21.78.noarch.rpm
3. Установим преобразованный пакет:
sudo dpkg -i ./ sqldeveloper-4.1.5.21.78_all.deb
После этого осталось сделать очень важную вещь – прописать путь для sql developer к jdk 1.8, иначе на 1.7 он у вас просто не заведется. Для этого в файле sqldeveloper.conf нужно раскомментировать строчку с указанием пути до jdk и прописать нужный путь в него. Сохранить и проверить. Студия должна завестись.
Теперь остается установить в систему maven, git и Идею. С IntelliJ IDEA Community все просто – скачиваем и запускаем start.sh.
maven мы просто поставим стандартными средствами:
sudo apt-get install maven
Проверим, что он нормально установился:
git мы поставим таким же способом:
После этого обновим зависимости:
И перезагрузим систему. Все, на примере моего рабочего окружения для стенда я показал, как настроить весь необходимый инструмент для java разработки. К сожалению, данное руководство весьма поверхностно и здесь не описано множество необходимых настроек для всего этого инструментария. Но все это нужно делать индивидуально под тот или иной проект. Поэтому тут вы уже сами должны сделать все необходимое. Учтите одно – при разработке на java под любой платформой вам все равно придется часто переключаться между различными jdk. Это абсолютно нормальное явление для этой технологии. Слишком много различного кода написано на старых версиях платформы и его нужно поддерживать и постепенно переписывать.
Еще одно напутствие тем, кто решился изучать этот язык и технологию – непонятно его будущее. Да, вышел jdk 1.9, однако Оракл почему-то не анонсировал выход EE 1.9, а именно интерпрайзовская джава служит локомотивом для солидной разработки. Тем не менее, язык очень простой. Я серьезно. По сравнению с C++ ява детский лепет. Честно говоря, как по мне, он даже проще C#, так как в нем очень простой и очевидный синтаксис. Тем не менее, я скоро начну серию уроков по java, так что наведывайтесь на мой блог 🙂
Источник
Лучшие IDE для Ubuntu: подбор среды для Java-разработчика
Дата публикации: 2018-11-09
От автора: выбор среды разработки под Ubuntu еще несколько лет назад был сложной задачей. Сегодня лучшие IDE для Java на Ubuntu можно определить довольно легко: достаточно спросить о том, какие из них наиболее часто используются большими компаниями. Сегодня мы сформируем свой топ, который покажет, какая из сред разработки достойна называться лучшей. Помимо бестселлеров мы рассмотрим еще одну среду, которая имела хорошие исходные данные, но так и не стала популярной.
Подбор Ubuntu под Java
Не так много линуксов могут похвастаться столь широким распространением, как Ubuntu. Эта система смогла стать альтернативой существующим платным OS, таким как Windows или Mac. Как только предприятие решает отказаться от коммерческих операционных сетей, они не имеют другого выбора – только Ubuntu, реже Linux Mint. Системы хорошо выглядят, стабильно работают и имеют интуитивно понятный интерфейс и…многие конкуренты обладают теми же характеристиками. Что же отличает Ubuntu и чем она привлекает Java-разработчика?
поддержка железа. Многие пользователи Windows гордятся своим выбором, так как их ОС умеет мгновенно подключать любое оборудования и находить на него драйвера. В Linux’ах все иначе: нужно устанавливать все самостоятельно через терминал, исключение составляет Ubuntu. Эта система «дружит» с оборудованием в тот момент, когда вы их подключите. При установке ставятся и дрова на все подключенные устройства;
сообщество юзеров и разработчиков. Если у вас возникла проблема при взаимодействии с Ubuntu, это значит только одно: кто-то уже был в подобной ситуации. Ответ на ваши вопросы можно найти на форумах. Что касается настройки среды разработки – все еще лучше;
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
акцент на безопасности. Существует миф о том, что на Linux нет вирусов. Это, конечно же, неправда. Малвар производят и для самых редких операционных систем, и Linux не исключение. Причем большинство дистрибутивов менее защищены, чем яблочные ОС и Windows. Опять Ubuntu выделяется на фоне других, его безопасность на высшем уровне;
центр приложений. Когда он появился в Windows, несколько лет назад? В Ubuntu эта опция существует уже давно и оптимизирована гораздо лучше, чем это смогли Microsoft (и совсем немного хуже, чем в Mac).
Существуют и слова против, но они больше касаются не Java-разработчика, а начинающего пользователя. Например, в Ubuntu сложнее установить корпоративные ограничения. Но сложно не значит невозможно. Серьезным аргументом можно считать только то, что с Windows или Mac сложно «слезть». Нет хороших программ для переноса данных с одной операционной системы на другую. Чтобы все выглядело так, будто вы просто изменили инструмент работы, а сами данные сохранились.
Подбираем Ubuntu под Java
Наверняка у новичка разбегаются глаза, когда он видит сколько дистрибутивов и клонов представлено в линейке Ubuntu. Некоторые советуют сборку для разработчика, некоторые и вовсе предлагают отказаться от графического интерфейса. Но это все вопрос предпочтений, которые еще не выработаны у новичка.
Можно дать только один совет, который будет релевантным еще много лет: ставьте официальный дистрибутив, который выпущен на несколько версий раньше, чем последний релиз. Установка свежих Ubuntu – это не только высокая нагрузка на процессорную мощность, но и встреча с неизбежными багами. Чем дольше поддерживается ось, тем она более стабильна. Так что ставьте последние Убунту только если вы фанат и имеете в распоряжении мощное оборудование.
Нужна ли джаве IDE
Если вы уже начали заниматься программированием, значит знаете, насколько это может быть изнурительным процессом. Это будто создавать математическое уравнение по собственным законам, со своими переменными и действиями — IDE призван максимально упростить этот процесс. И Java – один из тех языков, кому действительно нужна среда разработки.
У Java непростой синтаксис, плюс строгая типизация данных. Некоторые прогрессивные разработчики даже ругают за это язык программирования. Но, благодаря такой характеристике, он хорошо подходит для изучения: заставляет программиста понимать, какая логика руководит решениями компьютера.
Несмотря на свою сложность, этот язык хорошо подходит для разработки программного обеспечения и веб-продуктов. Он мощен настолько, насколько труден для новичка. Именно потому он так распространён среди веб-разработчиков. Приложения, созданные на Java, работают в сети значительно быстрее и запускаются на большинстве машин.
Код на Java и правда может быть достаточно сложным. Никакой концентрации не хватит, чтобы контролировать отсутствие ошибок. Для этого существует IDE: она умеет автоматизировать процесс разработки, помогает найти и исправить проблемный элемент кода, и даже генерирует участки на ходу. В Eclipse (и некоторых других средах разработки) этот сервис называется IntelliSense. Он умеет завершать слова языка программирования, закрывать нужные функции и даже помочь в топографическом размещении: отступы и интервалы, которые нужны для удобочитаемости, делает программа.
То же самое касается и компиляции. Конечно до наших дней дожили те, кто считает, что компиляцию лучше проводить сторонним инструментом, но этот взгляд, зачастую, лишен объективного подхода: кто-то привык и не хочет мириться и с неизбежным прогрессом.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Java относится к компилируемым языкам, да и постоянно переносить код в другое приложение – нецелесообразно. Намного удобнее запустить компиляцию прямо из среды разработки. То же касается и запуска программы: из IDE всегда удобнее.
Среда разработки хорошо служит в командной разработке, и дело не только в полноценном переносе кода с одной машины на другую. В некоторых средах разработки можно включить одновременный удаленный доступ к коду: совместно писать, редактировать и тестировать. И это касается не только Java, а всех языков, которые используются в веб-разработке.
Требования разработчика
Уже давно не существует стандарта, который бы определял современную IDE. Среды разработки настолько развивают свой функционал, что набор из текстового редактора, компилятора и дебаггера уже называют IDE лишь условно. Хорошая среда разработки джависта должна иметь еще несколько характеристик, без которых она неконкурентоспособна.
С основными требованиями к функционалу вы уже знакомы, теперь перейдем к некоторым системным монетам. К примеру, среда разработки для Ubuntu должна быть кроссплатформенной. Для нашего случая она может быть написана исключительно под сочетание Java/Ubuntu, но такой вариант не очень удобный. Разработчику предстоит работать со своей командой, демонстрировать наработки и приспосабливать их для запуска. Намного рациональнее делать это на кроссплатформенных IDE.
Уже потом идут чисто субъективные факторы, такие как интуитивность, скорость разработки и определенная степень эффективности. Но их мы тоже будем учитывать, основываясь на опыте Java-разработчиков.
Три кита Java-программирования
Сколько бы не велись споры о том, какие IDE лучше подходят для Ubuntu и в целом для веб-разработки, в результате получается три основных среды: IDEA, Eclipse и NetBeans. Со всеми ними вы уже, должно быть, знакомы. Две из них бесплатны, а IDEA имеет ультимативную версию, где все реализовано в лучшем виде. Можно точно сказать, что эта среда разработки лидирует в тройке по количеству поклонников и скорости разработки. Но, как всегда, субъективные предпочтения и базовые знания конкретного программиста заставляют его выбирать ту или иную IDE.
Намного более интересным ответвлением сред разработки можно назвать облачные IDE. Ранее они были не более чем утопией, идеей и экспериментом. Но, с приходом широкополосного интернета, мощных устройств и глобального покрытия, облачные IDE стали приобретать популярность. К примеру, трудно придумать что-то лучше для групповой разработки, чем код, который пишется в сети. Доступ таким образом можно обеспечить простой ссылкой, как в онлайн-системах обмена документами.
Тем не менее, такие IDE недопустимы для полномасштабной разработки продукта из-за вопросов безопасности. Весь исходный код может перехватить человек с доступом к серверной комнате, если не применять достаточных механизмом секьюритизации. Эта сфера развивается с каждым годом, представляя все новые продукты.
Наиболее яркий из них – Codenvy. Это одна из первых облачных IDE, которая поддерживает разработку на Java. Значительная роль в этой среде разработки уделена шерингу и совместному созданию программ. Всего в одно нажатие можно представить свою работу другому пользователю. В стационарных IDE это более долгий процесс: компиляция, сохранение, пересылка. Здесь все намного проще – открыть доступ к рабочему полю.
Во многом проект соперничает с Eclipse Che, а в некоторых моментах даже выигрывает и отбирает себе поклонников. Расстраивает лишь отсутствие поддержки основных веб-языков: PHP, Ruby, Python. Писать на них можно, но автозаполнение и прочие плюшки отсутствуют. Напомним, что стационарная IDEA умеет анализировать мультиязычный код.
Облачные IDE могут быть интересны не столько джавистам на Ubuntu, сколько пользователям экзотических дистрибутивов Linux. Они не всегда могут запустить популярные среды разработки. А при помощи облачных систем, такие пользователи смогут присоединится к разработке.
Результаты от Gel
Мы уже забыли время, когда среда для разработки на Java весила мало и выполняла свои задачи быстро. Очень жаль, что теперь они ассоциируются с объемным инструментом, который потребляет большинство ресурсов устройства.
В начале столетия достаточно популярной была среда разработки Gel. Она имела неплохой на то время графический интерфейс, быстрее остальных устанавливалась, настраивалась и могла выполнять все основные функции, даже по меркам современной IDE. К тому же, количество плагинов было сравнимо с NetBeans, IDEA и прочими бестселлерами. Но, как всегда, неспособность к маркетингу и отсутствие поддержки погубило амбициозный проект.
Вывод: обращайте внимание на то, как часто обновляется IDE и какое общество ее поддерживает. А у нас все.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Источник