Java Can';t使用Maven和Jetty创建SSL连接

Java Can';t使用Maven和Jetty创建SSL连接,java,web-services,maven,ssl,jetty,Java,Web Services,Maven,Ssl,Jetty,我有一个运行Jetty和Maven的Web服务。现在,我想为这个WS创建一个SSL连接。 我在pom.xml文件中应用以下代码: pom.xml: <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <configuration> <scanInterv

我有一个运行Jetty和Maven的Web服务。现在,我想为这个WS创建一个SSL连接。 我在pom.xml文件中应用以下代码:

pom.xml

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <configuration>
        <scanIntervalSeconds>5</scanIntervalSeconds>
        <connectors>
            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                <port>9090</port>
                <maxIdleTime>60000</maxIdleTime>
            </connector>
            <connector implementation="org.mortbay.jetty.security.SslSocketConnector">
                <port>443</port>
                <maxIdleTime>60000</maxIdleTime>
                <keystore>jetty-ssl.keystore</keystore>
                <password>jetty6</password>
                <keyPassword>jetty6</keyPassword>
            </connector>
        </connectors>
    </configuration>
</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>generateKeyPair</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <keystore>jetty-ssl.keystore</keystore>
        <dname>cn=NCSL004</dname>
        <keypass>jetty6</keypass>
        <storepass>jetty6</storepass>
        <alias>jetty6</alias>
        <keyalg>RSA</keyalg>
    </configuration>
</plugin>

org.mortbay.jetty
maven jetty插件
5.
9090
60000
443
60000
jetty-ssl.keystore
码头6
码头6
org.codehaus.mojo
keytool maven插件
产生资源
清洁的
清洁的
产生资源
根基
发电机对
jetty-ssl.keystore
cn=NCSL004
码头6
码头6
码头6
RSA
当我运行maven时,我得到:

>       [INFO] >>> jetty-maven-plugin:8.1.13.v20130916:run (default-cli) @ Test >>> 

>       [INFO] --- keytool-maven-plugin:1.3:clean (clean) @ Test ---
>       [INFO] Keystore file 'jetty-ssl.keystore' deleted successfully.
>       [INFO] 
>       [INFO] --- keytool-maven-plugin:1.3:generateKeyPair (genkey) @ Test ---
>       [INFO] 
>
>       ...
>
>       2013-12-13 10:47:46.160:INFO:oejs.AbstractConnector:Started             
>       SelectChannelConnector@0.0.0.0:8080 <br />
>       [INFO] Started Jetty Server 
jetty maven插件:8.1.13.v20130916:run(默认cli)@Test>> >[信息]---keytool maven插件:1.3:clean(clean)@Test--- >[信息]密钥库文件“jetty ssl.Keystore”已成功删除。 >[信息] >[信息]---keytool maven插件:1.3:generateKeyPair(genkey)@Test--- >[信息] > > ... > >2013-12-13 10:47:46.160:信息:oejs.AbstractConnector:已启动 > SelectChannelConnector@0.0.0.0:8080
>[信息]已启动Jetty服务器 当我尝试连接到[https://localhost:443]我得到一个错误,另外[http://localhost:9090]我也犯了一个错误! 所以我的web服务只能在[http://localhost:8080]. Maven似乎没有实现端口配置

如何解决此错误

谢谢

有几件事

  • 端口
    443
    位于特殊保留空间(端口1到1024)内,因此不会从非特权用户绑定到该端口

  • 您使用的是jetty-8.1.13,但它位于
    org.eclipse.jetty
    命名空间中,而不是
    org.mortbay.jetty
    ,因此您的
    行对于jetty 8来说都是错误的。这些条目适用于Jetty 6和更早版本

  • 对于Jetty 8,它看起来是这样的

    
    org.mortbay.jetty
    jetty maven插件
    8.1.14.v20131031
    10
    /试验
    9090
    60000
    9443
    60000
    src/test/resources/server.keystore
    123456
    123456