Eu tenho um aplicativo Java e quando uso java.awt.Desktop:
Desktop.getDesktop().open(new File(caminho do arquivo));
Funciona bem no Windows (abre um arquivo no meu programa padrão), mas no Ubuntu, o aplicativo Java trava e eu nem consigo obter nenhum erro de log ou algo assim. Na minha maquina, no localhost roda legal, mas quando subo a aplicação no servidor (DROPLED no DIgital Ocean, Ubuntu 24.04) não abre o arquivo. Estou usando o ITEXT para gerar um PDF
O caminho do arquivo está correto, pois no ITEXT ele gera o arquivo, consigo acessar o arquivo pelo terminal do ubuntu e vejo que ele foi gerado, está lá, só não consigo chamar ele para mostrar na tela
O que posso fazer? Posso verificar algumas configurações ou registros do sistema? Ou talvez obter alguns registros de java.awt.Desktop
? Ou isso não funciona no Ubuntu / Linux?
Existem alternativas?
Não consigo postar o código agora pois estou no trabalho, assim que chegar em casa posto o código.
Mas porque você quer abrir um arquivo no servidor?
Se você quer gerar um PDF não precisa do java.awt.Desktop
.
Então pode parecer bobo, mas não sei como fazer isso rs rs rs, existe algum codigo java que da pra fazer isso?. A intenção é que o usuário cilque no botão gere o arquivo em PDF e abra o arquivo no browser para ele poder salvar salvar em sua prórpria maquina, como não consegui um código que faça abrir o documento no browser usei o java.awt.Desktop, no windows funcionou, mas no Ubuntu 20.04 server não. Detalhe quando eu digito meu dominio e passo o endereço ele abre o documento no browser, mas queria que isso fosse feito de modo dinamico.
O java.awt.Desktop
serve pra você abrir o arquivo usando o visualizador padrão configurado no sistema operacional.
Você não pode usar ele no servidor, se você quer enviar o PDF para o cliente, precisa gerar um botão ou link para o cliente clicar e aí disponibilizar o arquivo para download.
Existem N formas de fazer isso, depende as API’s e frameworks que está usando para implementar sua aplicação WEB.
Entendi, estou usando o Prime Faces, vou dar uma pesquisada no site deles. Muito obrigado