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):
<project ...>
<build>
...
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<!-- Only for development: NIO don't let us edit css and javascript (included) files! -->
<connectors>
<connector implementation="org.mortbay.jetty.bio.SocketConnector">
<port>8080</port>
</connector>
</connectors>
</configuration>
</plugin>
</plugins>
</build>
</project>
Bom, espero que ajude alguém!