当前位置: 首页 > 面试题库 >

如何在Maven / Mortbay Jetty插件中使用https / ssl?

漆雕宏浚
2023-03-14
问题内容

我想使用ssl / https,如

http://docs.codehaus.org/display/JETTY/How+to+configure+SSL

使用jetty-maven-plugin,但我不知道如何配置插件。有任何提示,示例,教程,演练吗?

另外,我想知道如何执行上述教程的步骤3b,在该步骤中必须操作码头服务器(java -classpath $JETTY_HOME/lib/jetty- util-6.1-SNAPSHOT.jar:$JETTY_HOME/lib/jetty-6.1-SNAPSHOT.jar org.mortbay.jetty.security.PKCS12Import jetty.pkcs12 keystore)。


问题答案:

您可以使用Maven创建开发证书,并在启动Jetty时使用它。首先,配置 keytool-maven-plugin 以创建开发证书:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>keytool-maven-plugin</artifactId>
  <executions>
    <execution>
      <phase>generate-resources</phase>
      <id>clean</id>
      <goals>
        <goal>clean</goal>
      </goals>
    </execution>
    <execution>
      <phase>generate-resources</phase>
      <id>genkey</id>
      <goals>
        <goal>genkey</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <keystore>${project.build.directory}/jetty-ssl.keystore</keystore>
    <dname>cn=my.hostname.tld</dname><!-- put your CN here-->
    <keypass>jetty6</keypass>
    <storepass>jetty6</storepass>
    <alias>jetty6</alias>
    <keyalg>RSA</keyalg>
  </configuration>
</plugin>

根据需要更改CN。然后配置 maven-jetty-plugin 以使用开发证书:

<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>maven-jetty-plugin</artifactId>
  <version>6.1.10</version>
  <configuration>
    <contextPath>/context</contextPath>
    <scanIntervalSeconds>5</scanIntervalSeconds>
    <connectors>
      <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
        <port>8080</port>
        <maxIdleTime>60000</maxIdleTime>
      </connector>
      <connector implementation="org.mortbay.jetty.security.SslSocketConnector">
        <port>8443</port>
        <maxIdleTime>60000</maxIdleTime>
        <keystore>${project.build.directory}/jetty-ssl.keystore</keystore>
        <password>jetty6</password>
        <keyPassword>jetty6</keyPassword>
      </connector>
    </connectors>
  </configuration>
</plugin>

运行mvn jetty:run并打开https:// localhost:8443 /
context



 类似资料:
  • 我是maven的新手,在使用程序集插件生成zip文件时花了大约3天的时间,引用了http://www.petrikainulainen.net/programming/tips-and-tricks/creating-a-runnable-binary-distribution-with-maven-assembly-plugin/My project is multi module,所以我还引用

  • 问题内容: 我有一个Maven插件,其配置中包含groupId,artifactId和版本。 我希望能够从远程存储库下载该工件并将文件复制到项目中。我不知道如何下载工件。 我知道我可以使用依赖插件来解决依赖关系,但是我需要在插件内部进行依赖。我怎样才能做到这一点? 问题答案: 您的插件需要使用ArtifactFactory以及要引导的工件的groupId,artifactId和版本创建一个Arti

  • 现在我正在编写一个maven依赖项a,并在项目B中使用这个依赖项。两者的文件结构都是: 依赖A: 项目B: 我想做的是当我运行mvn spring boot时:在项目B中运行,测试。A的src/main/resources/files中的txt将被复制到项目B的/WebContent中。 我尝试在依赖项A中编写以下代码: 但是当我执行mvn spring boot:run时,它说文件不存在。

  • 我正在用scala到java maven项目编写一些测试。我希望用maven插件运行这些测试,但我也希望其余的JUnit测试也能运行。问题是,根据这个指导方针,我必须禁用surefire。我有一个同时运行scalatest和junit测试的解决方案吗?

  • 使用git-1.8.5时,使用maven release插件(使用版本2.4.2和2.3.2测试)和mvn(使用版本3.1.1和3.0.5测试),运行mvn release:prepare和mvn release:prepare with pom失败。 mvn release:prepare无法创建它应该创建的提交: [maven-Relase-plugin]为下一次开发迭代做准备 [maven-