2010-02-07 24 views
5

Uso il plug-in di Jetty per Maven, versione 7.0.0.pre5, ma ho problemi a configurarlo per avere un connettore SSL. Ogni volta che avvio l'applicazione, fallisce affermando che l'implementazione richiesta non è stata trovata.Maven's jetty plugup Problema di configurazione SSL

Questa è la configurazione del plugin nel mio 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> 

Il tentativo di eseguirlo con pontile mvn: corsa dà il seguente risultato:

[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 

Utilizzando org.mortbay.jetty.ssl .SslSocketConnector esegue lo stesso risultato.

È davvero strano, poiché, secondo la documentazione di Jetty, esistono entrambe le classi e questo è il loro nome corretto (in Jetty 6 è stata usata la sicurezza del pacchetto invece di ssl).

Riferimento: 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

Tutte le idee sono benvenute.

risposta

8

Non sicuro che questo sia normale ma il plugin mega-maven non ha jetty-ssl come dipendenza nel suo pom. Quindi, per favore aggiornare il pom in questo modo:

<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> 

E il plugin riuscirà a caricare org.mortbay.jetty.ssl.SslSelectChannelConnector.

+0

Che ha fatto! Grazie! – Johnco

3

Per chiunque utilizzi Jetty 6.x, l'artefatto da includere nelle dipendenze per il plug-in è jetty-sslengine.

+0

QUESTO! Grazie mille! Inoltre, il connettore è in realtà org.mortbay.jetty.security.SslSelectChannelConnector per 6.x. E c'è un tutorial per creare il keystore qui: http://wiki.eclipse.org/Jetty/Howto/Configure_SSL#Generating_Keys_and_Certificates_with_JDK_keytool – mowwwalker

15

Per la versione corrente di jetty-maven-plugin, 8.0.0.M2, i nomi di classe sono stati spostati in org.eclipse. *, E non sono necessarie ulteriori dipendenze.

<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> 

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

0

realtà stessa risposta da Pascal Thivent con congiunzione di una risposta Gnuf ma uno valido (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> 
Problemi correlati