Estou instalando Java e Tomcat em um servidor headless. O cliente não possui Java e apenas vê uma página da web.
Devo instalar o openjdk-17 ou o openjdk-17-headless?
Estou instalando Java e Tomcat em um servidor headless. O cliente não possui Java e apenas vê uma página da web.
Devo instalar o openjdk-17 ou o openjdk-17-headless?
Headless é um termo estranho (e espero que esteja se tornando obsoleto) para descrever um sistema sem teclado e tela . Para Java, significa que não terá suporte para interface GUI, que é uma parte significativa e também complexa).
Em um servidor normalmente você não precisa de uma GUI Java, então uma versão headless seria suficiente. Nota: trata-se de Java GUI e, portanto, Java usando sistema operacional para exibir coisas. Não se trata de criar ou manipular imagens, etc.
No mundo Java, “headless” significa “sem GUI”, onde GUI é entendido como uma UI local (em oposição a uma UI renderizada em algum sistema remoto usando HTML, por exemplo). Portanto, a maioria dos aplicativos de servidor funciona bem com um JRE sem cabeça. Um efeito colateral é que os JREs headless não extraem dependências do X11.
Existem algumas exceções; alguns programas Java não possuem uma UI, mas ainda precisam de módulos ou pacotes relacionados à GUI, por exemplo , para processamento de imagens. Esses programas acabam precisando (ou precisavam, faz um tempo que não configuro um) de um JRE sem cabeça.
Se você estiver no Debian, os pacotes do Tomcat dependem de um JRE headless por padrão; esse é um forte indicador de que os JREs sem cabeça são apropriados na maioria dos casos.