Problemas com Maven 2 e Jetty plugin

1 resposta
Fabio_Kung

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!

1 Resposta

Guilherme_Silveira

vou testar no linux e aviso…

Criado 19 de setembro de 2006
Ultima resposta 19 de set. de 2006
Respostas 1
Participantes 2