2010-02-07 16 views
5

Używam wtyczki Jetty dla Mavena, wersja 7.0.0.pre5, ale mam problemy z konfigurowaniem go do połączenia SSL. Ilekroć uruchamiam aplikację, nie powiedzie się, że żądana implementacja nie zostanie znaleziona.Wtyczka dla Maven'a Konfiguracja SSL Problem

Jest to konfiguracja wtyczki w ciągu mojego 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> 

Próba uruchomienia go z mvn jetty: run daje następujący wynik:

[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 

Korzystanie org.mortbay.jetty.ssl .SslSocketConnector renderuje ten sam wynik.

To naprawdę dziwne, ponieważ zgodnie z własną dokumentacją Jetty obie klasy istnieją i to jest ich poprawna nazwa (w komunikacie Jetty 6 zastosowano pakiet bezpieczeństwa zamiast ssl).

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

Wszelkie pomysły są mile widziane.

Odpowiedz

8

Nie jestem pewien, czy to normalne, ale wtyczka jetty-maven nie ma jetty-ssl jako zależności w swojej pom. Więc proszę zaktualizować pom tak:

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

A plugin uda załadować org.mortbay.jetty.ssl.SslSelectChannelConnector.

+0

To się udało! Dzięki! – Johnco

3

Dla każdego, kto używa Jetty 6.x, artefakt do włączenia w zależności dla wtyczki to jetty-sslengine.

+0

TO! Dziękuję bardzo! Ponadto łącznik to w rzeczywistości org.mortbay.jetty.security.SslSelectChannelConnector dla 6.x. Istnieje również samouczek dotyczący tworzenia magazynu kluczy: http://wiki.eclipse.org/Jetty/Howto/Configure_SSL#Generating_Keys_and_Certificates_with_JDK_keytool – mowwwalker

15

Dla aktualnej wersji jetty-maven-plugin, 8.0.0.M2, nazwy klas zostały przeniesione do org.eclipse. * I nie są wymagane żadne dodatkowe zależności.

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

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

0

Właściwie sama jak odpowiedzieć Pascal Thivent z koniunkcji odpowiedź GNUF jednak ważny jeden (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>