Búsqueda de sitios web

javascript - ¿Cómo hago que el plugin maven jetty sea consciente de un directorio web adicional?


Me gustaría usar src/main/javascript como el directorio fuente para mis archivos de JavaScript mientras sigo utilizando src/main/webapp para la mayoría de los otros archivos web, pero el plugin Maven jetty:run no conoce este directorio por defecto.

Lo siguiente es hasta donde he llegado hasta ahora, pero no parece hacer que Jetty sea consciente de mi directorio de JavaScript:

<build>
  <plugins>
    <plugin>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>maven-jetty-plugin</artifactId>
      <version>6.1.12</version>
      <configuration>
        <webAppConfig>
          <contextPath>/${project.artifactId}</contextPath>
          <extraClasspath>target/classes/:src/main/javascript</extraClasspath>
        </webAppConfig> 
        <webResources>
          <resource>
            <directory>src/main/webapp</directory>
            <directory>src/main/javascript</directory>
          </resource>
        </webResources>
      </configuration>
    </plugin>

¿Cómo hago que el complemento Jetty de Maven sea consciente de este directorio web adicional?

Respuesta #1

Parece que esto podría ayudarte:

  • http://docs.codehaus.org/display/JETTY/Multiple+WebApp+Source+Directory

Entonces, modificaría tu configuración de la siguiente manera:

<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>maven-jetty-plugin</artifactId>
  <version>6.1.12</version>
  <configuration>
    <webAppConfig>
      <contextPath>/${project.artifactId}</contextPath>
      <!-- Javascript files are not java class files, so you can skip this
      <extraClasspath>target/classes/:src/main/javascript</extraClasspath>
      -->
      <baseResource implementation="org.mortbay.resource.ResourceCollection">
        <resourcesAsCSV>src/main/webapp,src/main/javascript</resourcesAsCSV>
      </baseResource>
    </webAppConfig> 
  </configuration>
</plugin>

Respuesta #2

Tenga en cuenta que la clase ResourceCollection se ha movido en la última versión de Jetty (9.3.0.M2).

Por lo tanto, la implementación debería apuntar a org.eclipse.jetty.util.resource:

<plugin>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>maven-jetty-plugin</artifactId>
  <version>9.3.0.M2</version>
  <configuration>
    <webAppConfig>
      <baseResource implementation="org.eclipse.jetty.util.resource.ResourceCollection">
        <resourcesAsCSV>src/main/webapp,src/main/javascript</resourcesAsCSV>
      </baseResource>
    </webAppConfig> 
  </configuration>
</plugin>