0

相关

如何编写正确的 Maven POM 而不使用连接器中不推荐使用的方法/标签,如needClientAuthkeystore

不推荐使用方法的示例:

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

1 回答 1

1

无法通过 maven 配置结构进行自定义 Ssl 配置。这是由于在 SslSocketConnector 构造函数中引入了 SslContextFactory 要求,以加强服务器端的一些 SSL 安全问题。

当使用 pom.xml 中的结构时,Maven 只能从默认构造函数构造对象。

您必须通过<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>
于 2012-01-11T15:37:32.463 回答