文档章节

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

cokolin
 cokolin
发布于 2015/04/26 22:58
字数 751
阅读 1458
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

oh-my-zsh 自定义

GitHub 地址 基于 oh-my-zsh 的自定义配置,增加了一些个人常用插件与皮肤。 采用的是 git submodule 来维护,包括 oh-my-zsh,之所以这么搞,主要是手头有多台 linux 需要维护, 每台机器、...

郁也风
今天
5
0
Docker安装踩坑:E_FAIL 0x80004005的解决

参考 菜鸟教程--Windows Docker 安装 http://www.runoob.com/docker/windows-docker-install.html 官方文档-Install Docker Toolbox on Windows https://docs.docker.com/toolbox/toolbox_in......

karma123
今天
5
0
js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
17
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0
"errcode": 41001, "errmsg": "access_token missing hint: [w.ILza05728877!]"

Postman获取微信小程序码的时候报错, errcode: 41001, errmsg: access_token missing hint 查看小程序开发api指南,原来access_token是直接当作parameter的(写在url之后),scene参数一定要...

两广总督bogang
昨天
33
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部