Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline
Olá pessoal!
Alguém usa o plugin do jetty 6 pro maven 2 e teve problemas na hora de salvar arquivos .css ou .js (usando windows xp)?
Explicando melhor: toda vez que o servidor está no ar não é possível editar arquivos que foram incluídos nas suas páginas (um css, ou um javascript, por exemplo). Dá um erro dizendo que o arquivo está bloqueado por outro processo (pode ter a ver com o windows que eu uso também, que bloqueia os arquivos por processo).
Isso acontece pois o connector padrão do Jetty usa o java.nio. Este por sua vez faz IO mapeada em memória e trava o arquivo.
Como uma das grandes vantagens de usar o plugin do jetty pro maven2 é poder ir editando os arquivos (tanto fontes java como os outros) e vendo os resultados, é um pouco chato ter que reiniciar o servidor toda vez que você precisa editar um javascript ou um css.
Eu resolvi isso de forma simples, desabilitando o connector NIO no desenvolvimento. Claro que na produção (se o Jetty estiver sendo usado) o connector nio poderá ser usado normalmente.
Aí vai o pedaço do meu pom.xml que diz pro Jetty usar o connector de io bloqueante comum, baseado em sockets e pool de threads (sem java.nio):