我正在尝试开发一个Wicket应用程序。它的登录页面必须使用SSL打开。所以我做了一些编码。
但我找不到为SSL配置maven tomcat 7插件。
我正确创建了密钥库文件。使用keytool -genkey -alias tomcat -keyalg RSA
命令
它位于windows上的用户目录中。密码是密码。
这是我在pom.xml中定义tomcat的方式:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-beta-1</version>
<executions>
<execution>
<id>tomcat-run</id>
<goals>
<goal>exec-war-only</goal>
</goals>
<phase>package</phase>
<configuration>
<path>foo</path>
<!-- optional only if you want to use a preconfigured server.xml file -->
<serverXml>src/main/tomcatconf/server.xml</serverXml>
<!-- optional values which can be configurable -->
<attachArtifactClassifier>
default value is exec-war but you can customize
</attachArtifactClassifier>
<attachArtifactClassifierType>
default value is jar
</attachArtifactClassifierType>
<httpsPort>8443</httpsPort>
<keystoreFile>${user.home}/.keystore</keystoreFile>
<keystorePass>password</keystorePass>
<protocol>org.apache.coyote.http11.Http11AprProtocol</protocol>
</configuration>
</execution>
</executions>
</plugin>
答案 0 :(得分:21)
在我的pom.xml中使用此配置,我得到它的工作:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<path>/${project.build.finalName}</path>
<contextFile>${basedir}/context.xml</contextFile>
<httpsPort>8443</httpsPort>
<keystoreFile>${basedir}/certificates/keystore.jks</keystoreFile>
<keystorePass>password</keystorePass>
</configuration>
</plugin>
答案 1 :(得分:6)
我能够使用它:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<path>/mycontext</path>
<port>9090</port>
<httpsPort>8443</httpsPort>
<keystorePass>changeit</keystorePass>
</configuration>
</plugin>
请确保您从文档中创建密钥库:http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html(看起来您已经拥有该部分),最终对我有用的是创建密钥库(在默认目录中),并将两个密码都设置为“changeit” “......不知道为什么,但对我来说这种情况确实没问题,因为这只适用于本地开发。
我在Windows 7,Maven 3上运行。
希望这有帮助。