Alguém poderia dizer ou indicar uma outra biblioteca para FTP que não seja da Apache (commons-net).
Preciso disto por causa de um bug com o Windows XP que faz travar a aplicação quando utilizado Swing.
O seu problema não é da biblioteca de FTP e sim de você não ter entendido a parte de “threading” do Swing.
Se você usa uma biblioteca “bloqueante” como essa que você usou (ou seja, que processa na mesma thread que foi chamada), então se você chamá-la no tratamento de um clique de um botão (por exemplo), vai ficar travado mesmo.
Você precisaria chamar essa biblioteca em uma outra thread, que fosse disparada por esse evento de botão.
Para provar isso, experimente pôr um “Thread.sleep (20000);” dentro do tratamento do clique de um botão (por exemplo). Você vai ver que a aplicação Swing fica “presa” e “travada” por 20 segundos, sem conseguir atualizar mais nada na tela.
Esse problema que você teve é o mesmo que o pessoal costuma ter com a JProgressBar. Não é que ela “fica travada” mas sim que você não entendeu a parte de “threading” do Swing.
entanglement, talvez eu tenha deixado de especificar melhor, mas vamos lá:
A aplicação funciona perfeitamente no Linux, Windows 7 e XP Home. Ela apenas trava quando utilizo o XP Professional (em rede).
Outro ponto importante é que o travamento ocorre quando aponto para conectar em um servidor que não seja localhost.
Fiz um teste unitário em todo o código e descobri que a linha que faz travar é quando chamo o método ftp.connect, da classe FTPClient deste pacote.
Consultei o site da Apache e realmente este é um bug reportado por eles, que ocorre somente com o XP. Disseram que foi corrigido na versão 2.2, mas já baixei até a 3.3 e não resolveu, por isso procuro um outro pacote para testar.
Dê uma olhada no report do bug: https://issues.apache.org/jira/browse/NET-31
Obrigado por enquanto.