Избегайте использования устаревших методов в org.eclipse.jetty.server.ssl.SslSocketConnector с помощью jetty-maven-plugin - PullRequest
0 голосов
/ 11 января 2012

связано с

Как написать правильный Maven POM без использования устаревших методов / тегов в коннекторе, например needClientAuth или keystore ?

Пример использования устаревшего метода:

      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <!-- see http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin -->
        <version>8.0.4.v20111024</version>
        <!-- see http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.mortbay.jetty%22%20AND%20a%3A%22jetty-maven-plugin%22 -->
        <dependencies>
          <!--[...]-->
        </dependencies>
        <configuration>
          <webAppXml>src/main/resources/jetty-Login.xml</webAppXml>
          <scanIntervalSeconds>5</scanIntervalSeconds>
          <webAppConfig>
            <contextPath>/MyApp</contextPath>
          </webAppConfig>
          <connectors>
            <connector implementation="org.eclipse.jetty.server.bio.SocketConnector">
                <port>8080</port>
            </connector>
            <connector implementation="org.eclipse.jetty.server.ssl.SslSocketConnector">
                <port>8443</port>
                <password>changeit</password>
                <wantClientAuth>true</wantClientAuth><!-- deprecated! -->
                <needClientAuth>false</needClientAuth><!-- deprecated! -->
                <keystore>/my/path/to/java/keystore</keystore><!-- deprecated! -->
            </connector>
          </connectors>
        </configuration>
      </plugin>
    </plugins>

1 Ответ

1 голос
/ 11 января 2012

Пользовательская конфигурация Ssl через структуру конфигурации maven невозможна.Это связано с введением требования SslContextFactory в конструкторе SslSocketConnector для усиления некоторых проблем безопасности SSL на стороне сервера.

Maven может создавать объекты только из конструктора по умолчанию при использовании структур в pom.xml.

Вы должны будете связать изменения с помощью элемента <jettyXml>.Найдите копию jetty-ssl.xml из дистрибутива и поместите ее в ваш $ {project.basedir} /src/main/config/jetty-ssl.xml и используйте следующий блок конфигурации.

  <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>${jetty-version}</version>
    <configuration>
      <scanIntervalSeconds>5</scanIntervalSeconds>
      <webAppConfig>
        <contextPath>/MyApp</contextPath>
      </webAppConfig>
      <jettyXml>src/main/config/jetty-ssl.xml</jettyXml>
      <connectors>
        <connector implementation="org.eclipse.jetty.server.bio.SocketConnector">
          <port>8080</port>
        </connector>
      </connectors>
    </configuration>
  </plugin>
...