2010-02-07 10 views
5

Estoy utilizando el complemento Jetty para Maven, versión 7.0.0.pre5, pero tengo problemas para configurarlo para tener un conector SSL. Cada vez que inicio la aplicación, falla indicando que no se encuentra la implementación solicitada.Complemento jetty de Maven Problema de configuración SSL

Ésta es la configuración del plugin dentro de mi pom.xml

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>7.0.0.pre5</version> 
    <configuration> 
    <connectors> 
     <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 
     <port>8080</port> 
     </connector> 
     <connector implementation="org.mortbay.jetty.ssl.SslSelectChannelConnector"> 
     <port>8443</port> 
     <keystore>src/test/resources/server.keystore</keystore> 
     <keyPassword>123456</keyPassword> 
     <password>123456</password> 
     </connector> 
    </connectors> 
    </configuration> 
</plugin> 

El intento de ejecutarlo con embarcadero mvn: carrera da el siguiente resultado:

[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Failed to configure plugin parameters for: org.mortbay.jetty:jetty-maven-plugin:7.0.0.pre5 



Cause: Class name which was explicitly given in configuration using 'implementation' attribute: 'org.mortbay.jetty.ssl.SslSelectChannelConnector' cannot be loaded 

Usando org.mortbay.jetty.ssl .SslSocketConnector muestra el mismo resultado.

Es realmente extraño, ya que, según la propia documentación de Jetty, ambas clases existen y ese es su nombre correcto (aviso en Jetty 6 se utilizó la seguridad del paquete en lugar de ssl).

Referencia: http://www.jarvana.com/jarvana/view/org/mortbay/jetty/jetty-assembly/7.0.0.pre5/jetty-assembly-7.0.0.pre5-site-component.jar!/jetty-7.0.0.pre5/jetty-distribution-7.0.0.pre5-site-component/target/site/apidocs/org/mortbay/jetty/ssl/SslSocketConnector.html

http://www.jarvana.com/jarvana/view/org/mortbay/jetty/jetty-assembly/7.0.0.pre5/jetty-assembly-7.0.0.pre5-site-component.jar!/jetty-7.0.0.pre5/jetty-distribution-7.0.0.pre5-site-component/target/site/apidocs/org/mortbay/jetty/ssl/SslSelectChannelConnector.html

Todas las ideas son bienvenidas.

Respuesta

8

No estoy seguro de que esto sea normal, pero el complemento jetty-maven no tiene jetty-ssl como dependencia en su pom. Así que por favor, actualice su pom así:

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>7.0.0.pre5</version> 
    <configuration> 
    <connectors> 
     <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 
     <port>8080</port> 
     </connector> 
     <connector implementation="org.mortbay.jetty.ssl.SslSelectChannelConnector"> 
     <port>8443</port> 
     <keystore>src/test/resources/server.keystore</keystore> 
     <keyPassword>123456</keyPassword> 
     <password>123456</password> 
     </connector> 
    </connectors> 
    </configuration> 
    <dependencies> 
    <dependency> 
     <groupId>org.mortbay.jetty</groupId> 
     <artifactId>jetty-ssl</artifactId> 
     <version>7.0.0.pre5</version> 
    </dependency> 
    </dependencies> 
</plugin> 

y el plugin tendrá éxito para cargar org.mortbay.jetty.ssl.SslSelectChannelConnector.

+0

Eso lo hizo! ¡Gracias! – Johnco

3

Para cualquier persona que use Jetty 6.x, el artefacto que debe incluirse en las dependencias para el complemento es jetty-sslengine.

+0

ESTO! Muchas gracias! Además, el conector es en realidad org.mortbay.jetty.security.SslSelectChannelConnector for 6.x. Y hay un tutorial para crear el almacén de claves aquí: http://wiki.eclipse.org/Jetty/Howto/Configure_SSL#Generating_Keys_and_Certificates_with_JDK_keytool – mowwwalker

15

Para la versión actual de jetty-maven-plugin, 8.0.0.M2, los nombres de clase se han movido a org.eclipse. *, Y no se necesitan dependencias adicionales.

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>8.0.0.M2</version> 
    <configuration> 
     <webAppConfig> 
      <contextPath>/</contextPath> 
     </webAppConfig> 
     <connectors> 
      <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
       <port>8080</port> 
      </connector> 
      <connector implementation="org.eclipse.jetty.server.ssl.SslSocketConnector"> 
       <port>8443</port> 
       <keystore>src/test/resources/server.keystore</keystore> 
       <keyPassword>123456</keyPassword> 
       <password>123456</password> 
      </connector> 
     </connectors> 
    </configuration> 
</plugin> 

Ver: http://wiki.eclipse.org/Jetty/Starting/Porting_to_Jetty_7

0

En realidad misma como respondida por Pascal Thivent con conjunción de una respuesta Gnuf pero una válida (ver 6.1.26.).

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>6.1.26</version> 
    <configuration> 
    <connectors> 
     <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 
     <port>8080</port> 
     </connector> 
     <connector implementation="org.mortbay.jetty.security.SslSelectChannelConnector"> 
     <port>8443</port> 
     <keystore>server.keystore</keystore> 
     <keyPassword>password</keyPassword> 
     </connector> 
    </connectors> 
    </configuration> 
    <dependencies> 
    <dependency> 
     <groupId>org.mortbay.jetty</groupId> 
     <artifactId>jetty-sslengine</artifactId> 
     <version>6.1.26</version> 
    </dependency> 
    </dependencies> 
</plugin> 
Cuestiones relacionadas