Если вы хотите использовать утилиту в своем Linux (или другом Unix) сервер box, и для этого требовалась Java, и никакое другое приложение на вашем сервере не требовало Java, не могли бы вы его установить?
То есть, смотрите ли вы на эту зависимость и думаете: «Раздутие, угроза безопасности, другая система, которую я должен поддерживать», или на данный момент Java настолько безопасна и повсеместна, что это совсем не проблема?
Зависит от многих вещей.
По сути, это компромисс между стоимостью и выгодой. Java, как и все приложения, имеет недостатки безопасности. Sun время от времени обновляет свою JVM, и поставщики Linux, поставляющие Java, также делают то же самое. Как вы планируете отправлять обновления на эту машину? Насколько это важно? Если на машине есть надлежащие брандмауэры и запущены ограниченные сетевые демоны, Java как интерпретатор на диске, вероятно, не представляет большой опасности. Java обычно не запускается с правами root.
Почти любые аргументы, которые можно привести о Java, можно привести о Perl, Mono, GCC или любом программном обеспечении, которое может запускать произвольный код. Кроме того, большая часть программного обеспечения Linux обычно поставляется с дистрибутивом, поэтому вы часто можете полагаться на обновления дистрибутива, чтобы обеспечить безопасность. Sun Java в этом случае будет таким же, как любое стороннее программное обеспечение. Имеет ли значение, требует ли эта сторонняя утилита библиотека, которая является Java? Может быть нет.
Сценарий немного отличается, если вы говорите о Java, на которой запущено служебное приложение, такое как Tomcat или JBoss, где Java затем прослушивает сеть. В этом случае риск безопасности выше. Но у вас одинаковые риски безопасности с любым сетевым приложением, таким как apache или ssh.
Я очень редко нахожу, что ни одно приложение на моем сервере Linux не требует java, и у меня нет особых проблем с тем, что требует java. Он настолько широко используется, что я думаю, он мне когда-нибудь понадобится. Это может быть связано с тем, что большинство серверов Linux, которые у меня есть, предназначены для систем ERP.
У меня действительно есть проблема с разными приложениями, которым нужна другая версия JVM или очень специфические версии JVM.
Это минимальный риск. ЛЮБОЕ программное обеспечение содержит определенный риск, поэтому было бы неправильно говорить, что это вообще не проблема, но у меня больше нет особых опасений по поводу Java по сравнению с чем-либо еще. Однако на заре Java все было иначе.
Я смотрю на эту зависимость и думаю «раздувание, другая система, которую нужно поддерживать, и, вероятно, установка PITA». Я не считаю угрозу безопасности.
Я помещаю Java в ту же категорию, что и Python, Perl, Ruby, PHP, Mono или все, что требует времени выполнения. У меня нет проблем с его установкой, если мне не нужно искать какие-то пользовательские классы, плагины или модули, которые конфликтуют с упакованной версией.
Тем не менее, работа системного администратора с приложениями Java, как правило, занимает немного времени, поскольку системные администраторы предпочли бы иметь ошибку прямо, вместо того, чтобы читать 3 страницы ошибок «в стеке ...», чтобы найти ошибку типа «пустая строка».
Да. Я бы дважды подумал об этом. В случае, если у меня не было другого запущенного Java-приложения, я бы поискал альтернативу.
Я бы предпочел не мучиться с установкой и настройкой другой системы на моем сервере, если я ничего не могу с этим поделать. Та же причина применима ко всему остальному - если бы мне не нужен был почтовый MTA на моем сервере, я бы не стал его устанавливать. Если бы я не запускал никаких приложений Ruby, я бы не устанавливал Ruby.
Однако, если бы у меня уже была установлена и запущена java, я бы установил новое приложение и не беспокоился об этом. (но вы не об этом просили!)
Следует отметить, что срок службы Java 4 / 1.4 подошел к концу и больше не поддерживается.
Срок службы Java 5 / 1.5 истечет в октябре этого года.