Версии Java: платные - не платные, что вообще происходит?

107
09 апреля 2021, 06:30

Если я разрабатываю на Spring MVC web приложение, какую версию Java мне взять, для проекта, который планируется запустить в интернет с целью заработка и чтобы не платить при этом Oracle?

Раньше все было просто: качал последнюю версию и ни о чем не задумывался.

После продолжительного перерыва в Java я зашел по старинке на сайт, скачал последнюю доступную версию Java, коей оказалась jdk 12.0.1.

Но тут я начинаю узнавать, что есть какие-то сборки OpenJDK, Oracle JDK, что начиная с 1.8 что-то поменялось. Oracle какое-то лицензирование ввело.

Можете кратко объяснить, какую взять версию Java для разработки сайта на Spring MVC, на котором планируется зарабатывать на рекламе и возможно в отдаленном будушем на платных подписках(т.е. планируется коммерческий продукт), чтобы при этом не заморачивать себе голову с лицензированием?

Answer 1

Язык Java и виртуальная машина HotSpot - это open source. Есть абсолютно бесплатный OpenJDK в который контрибьютят множество других компаний, кроме Oracle - от небольших типа Excelsior JET до гигантов типа IBM. Oracle JDK собирается из исходного кода Open JDK. Они полностью идентичны. Деньги Oracle берёт за поддержку собственной сборки. Так же, как у Red Hat есть платная поддержка бесплатного Линукса. Если вам поддержка не нужна, используйте одну из множества бесплатных сборок OpenJDK и живите спокойно. Если вы компания класса MailRu Group, предоставляющая высоконагруженные сервисы 330 миллионам пользователей, и ваши специалисты каждую неделю находят баг в виртуальной машине, лучше использовать платный Oracle JDK.

Подробное официальное заявление на эту тему можно прочитать здесь.

Answer 2

OpenJDK - абсолютно бесплатен, но его надо обновлять каждые 6 месяцев в сентябре и марте (выходят новые версии).

READ ALSO
Указать данные авторизации прокси

Указать данные авторизации прокси

При сборке проекта на IntelliJ IDEA получаю такую ошибку

134
Проверить поле по regex когда оно не пустое

Проверить поле по regex когда оно не пустое

Помогите пожалуйста с построением regex, по такому условию: если строка имет хоть один символ отличный от пробела(то есть не пустая) то надо...

84