История изменений
Исправление
stevejobs,
(текущая версия)
:
Правильный подход в джаве - всё своё тащу с собой. Одна софтина - один каталог в /opt - одна запись в PATH - возможно один $APPNAME_HOME. Часть софта должна нести с собой свой собственный JRE или JDK (сейчас всё больше именно JDK, на мегабайтах больше не экономят).
Зависимости конечно есть, но они подтягиваются с помощью пакетного менеджера типа Maven или Sbt на этапе СБОРКИ софта. Когда уже всё собрано - это монолит «руками не трогать». Возможно, можно было бы сделать нормальный пакетный менеджер, учитывающий особенности Java - но этот пакетный менеджер должен был бы знать кучу систем сборки, и главное - работать в source-based дистрибутиве типа Gentoo. Бинарным дистрам этого не грозит вообще.
а упоротые дистрибутивщики пытаются совершить над этой системой надругательства. Распиливают дистрибутив жавы на кусочки. Устанавливают им какие-то свои чмоды (отчего JDK перестает работать). Кладут симлинки в «/bin». Распиливают джава-софт на кусочки и пытаются разложить его по линуксовым пакетам. Особо фимозные товарищи даже пытаются разложить эти кровавые кусочки по стандартным для сишных либ местам и назвать их соответственно. И потом поверх конечно нужно понаписать лапши на bash, которая будет двигать симлинки и хардлинки, чтобы эта куча говна не развалилась.
Это называется шизофрения. Она начинается с создания в вики статьи «организация пакетов для Java». Если такая статья есть (и она не состоит из одной строчки «не надо никак их организовывать, сваливайте в /opt») - то это всё, ку-ку, досвидос.
Исправление
stevejobs,
:
Правильный подход в джаве - всё своё тащу с собой. Одна софтина - один каталог в /opt - одна запись в PATH - возможно один $APPNAME_HOME. Часть софта должна нести с собой свой собственный JRE или JDK (сейчас всё больше именно JDK, на мегабайтах больше не экономят).
Зависимости конечно есть, но они подтягиваются с помощью пакетного менеджера типа Maven или Sbt на этапе СБОРКИ софта. Когда уже всё собрано - это монолит «руками не трогать».
а упоротые дистрибутивщики пытаются совершить над этой системой надругательства. Распиливают дистрибутив жавы на кусочки. Устанавливают им какие-то свои чмоды (отчего JDK перестает работать). Кладут симлинки в «/bin». Распиливают джава-софт на кусочки и пытаются разложить его по линуксовым пакетам. Особо фимозные товарищи даже пытаются разложить эти кровавые кусочки по стандартным для сишных либ местам и назвать их соответственно. И потом поверх конечно нужно понаписать лапши на bash, которая будет двигать симлинки и хардлинки, чтобы эта куча говна не развалилась.
Это называется шизофрения. Она начинается с создания в вики статьи «организация пакетов для Java». Если такая статья есть (и она не состоит из одной строчки «не надо никак их организовывать, сваливайте в /opt») - то это всё, ку-ку, досвидос.
Исправление
stevejobs,
:
Правильный подход в джаве - всё своё тащу с собой. Одна софтина - один каталог в /opt - одна запись в PATH - возможно один $APPNAME_HOME. Часть софта должна нести с собой свой собственный JRE или JDK (сейчас всё больше именно JDK, на мегабайтах больше не экономят).
Зависимости конечно есть, но они подтягиваются с помощью пакетного менеджера типа Maven или Sbt на этапе СБОРКИ софта. Когда уже всё собрано - это монолит «руками не трогать».
а упоротые дистрибутивщики пытаются совершить над этой системой надругательства. Распиливают дистрибутив жавы на кусочки. Устанавливают им какие-то свои чмоды (отчего JDK перестает работать). Кладут симлинки в «/bin». Распиливают джава-софт на кусочки и пытаются разложить его по линуксовым пакетам. Особо фимозные товарищи даже пытаются разложить эти кровавые кусочки по стандартным для сишных либ местам и назвать их соответственно.
Всё это полный бред. Этот бред начинается с создания в вики статьи «организация пакетов для Java». Если такая статья есть (и она не состоит из одной строчки «не надо никак их организовывать, сваливайте в /opt») - то это всё, ку-ку, досвидос.
Исходная версия
stevejobs,
:
Правильный подход в джаве - всё своё тащу с собой. Одна софтина - один катало в /opt - одна запись в PATH - мозможно один $APPNAME_HOME. Часть софта должна нести с собой свой собственный JRE или JDK (сейчас всё больше именно JDK, на мегабайтах больше не экономят).
Зависимости конечно есть, но они подтягиваются с помощью пакетного менеджера типа Maven или Sbt на этапе СБОРКИ софта. Когда уже всё собрано - это монолит «руками не трогать».
а упоротые дистрибутивщики пытаются совершить над этой системой надругательства. Распиливают дистрибутив жавы на кусочки. Устанавливают им какие-то свои чмоды (отчего JDK перестает работать). Кладут симлинки в «/bin». Распиливают джава-софт на кусочки и пытаются разложить его по линуксовым пакетам. Особо фимозные товарищи даже пытаются разложить эти кровавые кусочки по стандартным для сишных либ местам и назвать их соответственно.
Всё это полный бред. Этот бред начинается с создания в вики статьи «организация пакетов для Java». Если такая статья есть (и она не состоит из одной строчки «не надо никак их организовывать, сваливайте в /opt») - то это всё, ку-ку, досвидос.