文档章节

Eclipse下通过Maven的Tomcat插件运行Web工程的配置,包括启用https

cokolin
 cokolin
发布于 2015/04/26 22:58
字数 751
阅读 1394
收藏 6

引用说明

Maven Plugin配置,配置信息参考以下文档,分两步执行,也可以使用其它方案:

http://tomcat.apache.org/maven-plugin-2.2/index.html

http://tomcat.apache.org/maven-plugin-trunk/tomcat6-maven-plugin/run-mojo.html

http://tomcat.apache.org/maven-plugin-trunk/tomcat7-maven-plugin/run-mojo.html

生成 Tomcat 密钥的文档:http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html

本配置的环境限制是 Maven3.0 或以上,Jdk1.6 或以上,同时您的Maven工程是标准的Maven工程。

Tomcat7 可以使用 Servlet 3.0,强烈建议升级使用,本示例使用的插件版本是 2.2 版,本文发表时是最新的RELEASE版。

请勿再使用 tomcat:run, 这个命令已经过时,暂时没有发现通过 Tomcat8 运行的配置。


第一步

  • 二选一,在 Maven 的 setting.xml 中添加如下配置:

<settings>
  ....
  <pluginGroups>
    ....
    <pluginGroup>org.apache.tomcat.maven</pluginGroup>
    ....
  </pluginGroups>
  ....
</settings>
  • 二选一,在项目的 pom.xml 里面添加如下配置:

<project>
  ....
  <build>
    ....
      <plugins>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat6-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
      </plugins>
    ....
  </build>
  ....
</project>


第二步

使用Eclipse的Maven Build运行,Goals配置,如图:

  • 配置二选一,tomcat6启动:

tomcat6:run -Dmaven.tomcat.uriEncoding=UTF-8 -Dmaven.tomcat.path=/ -Dmaven.tomcat.port=8080 -Dmaven.tomcat.httpsPort=8443
  • 配置二选一,tomcat7启动:

tomcat7:run -Dmaven.tomcat.uriEncoding=UTF-8 -Dmaven.tomcat.path=/ -Dmaven.tomcat.port=8080 -Dmaven.tomcat.httpsPort=8443


其它方案

不修改setting.xml和pom.xml,指定插件的版本:

  • 配置二选一,Tomcat6运 行: 

org.apache.tomcat.maven:tomcat6-maven-plugin:2.2:run -Dmaven.tomcat.uriEncoding=UTF-8
  • 配置二选一,Tomcat7运 行:

org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run -Dmaven.tomcat.uriEncoding=UTF-8

同样都可以补上虚拟路径和端口配置:

-Dmaven.tomcat.path=/ -Dmaven.tomcat.port=8080 -Dmaven.tomcat.httpsPort=8443


以上方案配置完成之后,第一次运行时,Maven会自动去下载插件依赖,编译并运行Web应用,成功之后就可以愉快的通过浏览器访问你的应用。


补充说明

用Maven的命令行运行只要在这些命名前加 mvn 即可。

-Dmaven.tomcat.uriEncoding=UTF-8 这个配置建议始终加上

-Dmaven.tomcat.path=/ 这个配置可以不加,默认使用 /${artifactId},如果配置了,建议带上双引号,例如:-Dmaven.tomcat.path="/test"

-Dmaven.tomcat.port=8080 这个配置如果不设置,默认就是8080

如果像我一样使用 Eclipse 执行,可以将这些参数配置到 Parameter 中,如图:

Tomcat 开启https前需要先生成 .keystore 文件,命令如下:

  • Windows:

"%JAVA_HOME%\bin\keytool" -genkey -alias tomcat -keyalg RSA
  • Unix:

$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA

输入以上命令后输入密钥:changeit,剩下的内容可以一直回车或输入 Y 就完成了。 


总结

使用 Maven 的插件运行 Web 工程可以做到快速部署,提升开发效率。以前我使用Eclipse自带的Server配置来启动Web应用,虽然看起来更切合生产环境,但实际开发过程中因为各种问题,导致经常出现内存不足或运行出错,严重影响心情,而且实际上与生产的区别还是挺大的。

© 著作权归作者所有

共有 人打赏支持
cokolin
粉丝 13
博文 17
码字总数 5514
作品 0
广州
程序员
Eclipse下通过Maven的Jetty插件运行Web工程的配置,包括启动https

引用来源 Jetty7/8 的Maven插件配置:http://wiki.eclipse.org/Jetty/Feature/JettyMaven_Plugin Jetty9 最新的Maven插件配置:http://www.eclipse.org/jetty/documentation/current/jetty-......

cokolin
2015/05/02
0
6
Eclipse Maven Tomcat的利用配置

1.事先准备 m2eclipse插件中其实内嵌了Maven,但个人更偏向于用独立的Maven(可以自由选择版本啦,偶尔可以在命令行中跑Maven命令啦)。 下载Apache Maven:http://maven.apache.org/,关于环...

躺着的S
2013/08/03
0
4
maven web 应用配置

太久没有使用java有点生疏了,所以特意使用eclipse,通过maven 配置一下java web工程(本文仅用做个人查阅之用)。 安装jdk和eclipse jdk的下载可以在360软件管家等地方下载,eclipse可以在官...

yubang
2017/06/04
0
0
idea/eclipse下Maven工程集成web服务(tomcat、jetty)

idea/eclipse下Maven工程集成web服务 转载请注明出处:http://www.cnblogs.com/funnyzpc/p/8093554.html   应用服务器最常用的一般有这哥仨:tomcat、jetty、webLogic ,前两者开源属轻量级...

€5è¬þxãÍ
2017/12/23
0
0
Eclipse Maven项目搭建

说明: 本文描述Eclipse环境下基于Maven的项目开发环境的搭建,操作系统为Windows 7 32位中文企业版。 使用的工具列表如下: 1. Oracle JDK 1.6 update 26 2. Eclipse 3.6.2 JavaEE (plugi...

丽天
2011/07/20
0
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

kubernetes 中的 Service

kubernetes 中的 Service

健康的程序员
45分钟前
1
0
七牛云java(服务端)通用工具类

前言 需要安装lombok插件。 功能列表 上传本地文件 上传Base64图片 获取文件访问地址 上传MultipartFile 代码 pom.xml <dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java......

五毛程序员
47分钟前
1
0
Pandoc 批量将 Markdown 转为 Docx

看到了小金鱼儿的博文,很给力,核心代码如下: #!/bin/shfunction ergodic(){ for fullname in `ls $1` do name=${fullname%.*} ext=${fullname##*.} if [ "$ext"x = "md"......

hengbao5
47分钟前
2
0
cocos creator实现卡牌翻转

var pic1 = cc.find("Canvas/puke/hu"); var run = cc.callFunc(function() { cc.loader.loadRes("longhu/card", cc.SpriteAtlas, function (err, atlas) { let frame = atlas.getSpriteFram......

AndyZhouX
56分钟前
0
0
Linux服务器上监控网络带宽的18个常用命令

本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。 一些命令可以显示单...

谢思华
56分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部