Quais problemas você precisa verificar para implantar um aplicativo java no linux?

5

Quais problemas devem ser verificados especificamente ao implantar um aplicativo de servidor escrito em Java (sem nenhuma dependência de plataforma específica) que foi gravado e testado no Windows.

Dois que eu conheço:

  1. Nomes de arquivos com distinção entre maiúsculas e minúsculas
  2. Fontes disponíveis
por Yishai 18.06.2009 / 04:59

4 respostas

3

Certifique-se de que os arquivos JAR de terceiros que você usa (como SWT ) tenham a versão apropriada dependente da plataforma. Enquanto você disse "sem nenhuma dependência de plataforma específica", o comportamento específico da plataforma pode, às vezes, ficar oculto.

Além disso:

  1. Caminhos de arquivo (você tem caminhos como C:\Program Files ?)
  2. Caminhos de arquivo (você usa '/' ou '\' ou usa a constante apropriada File.pathSeparator ?)
  3. Como você localiza diretórios importantes, como o diretório pessoal do usuário?
  4. Se você estiver abrindo sockets abaixo da porta 1024, você será o usuário root no UNIX?
  5. Você usará a Sun JVM, gcj ou alguma outra JVM? As diferenças na implementação ou no desempenho afetarão seu aplicativo?
  6. Verifique as notas da versão da JVM (por exemplo, para J2SE 5 ou Java SE 6 ) para mencionar erros ou outras diferenças de comportamento nas suas plataformas de escolha.
por 18.06.2009 / 05:03
1

Você quase certamente desejará definir

-Djava.awt.headless=true

no caso de qualquer biblioteca tentar fazer qualquer renderização de fonte, manipulação de imagem ou qualquer outra coisa que toque em Swing, AWT ou ImageIO

    
por 18.06.2009 / 11:46
1

1) Assegure-se de que suas JVMs sejam idênticas em ambas as plataformas. 2) Algum nível de ajuste da JVM provavelmente será necessário. 3) Habilite o registro de sua JVM por um curto período de tempo para determinar se você está tendo problemas.

    
por 18.06.2009 / 16:23
0

Admito que não é particularmente específico do Windows para o Unix, mas vale a pena notar com base em nossas experiências:

  • Verifique as configurações em $ JAVA_HOME / jre / lib / security / java.security - particularmente networkaddress.cache.ttl - o Sun JRE, por padrão, armazenará em cache as pesquisas de DNS para sempre, o que nos atrapalhou e a nossos clientes em diversas ocasiões. ' -Dsun.net.inetaddr.ttl=60 ' deve substituí-lo na linha de comando.

  • Verifique se você está executando com um heap de tamanho adequado: -Xmx2048m ou similar (dependendo dos requisitos do aplicativo)

por 18.06.2009 / 14:12