idea/eclipse下Maven工程集成web服务(tomcat、jetty)

 idea/eclipse下Maven工程集成web服务

转载请注明出处http://www.cnblogs.com/funnyzpc/p/8093554.html

应用服务器最常用的一般有这哥仨:tomcat、jetty、webLogic ,前两者开源属轻量级应用服务器,适用于一般项目开发环境和生产环境,后者则是收费的、企业级、大型应用服务器;这三者个人都用过,一般做中小型项目的时候IDE集成jetty来调试和开发,tomcat做生产环境服务,至于webLogic我只在银行的一些项目中用到,一般部署在linux服务器上,需要使用命令启动服务,万幸的是组件配置的时候是在webLogic的web服务中配置(其中包括数据源、日志、外部依赖、集群、分布式。。。),遂将webLogic用于本地开发着实不便,嗯,好吧,本章我就讲讲本地开发如何集成jetty或tomcat服务。

  不管是idea还是eclipse,对于项目运行大致有两种配置方式≡(▔﹏▔)≡:

 A>一种是IDE集成web服务

    B>一宗是项目集成web服务

    C>通过main方法启动工程(这里不讲)

  IDE集成web服务的好处就是不管任何项目我都可以用本地web服务器跑起来,但,可能会出现一个问题是:如果IDE中运行多个工程(有老工程有新工程的话)会造成服务运行失败,这个问题我着实碰到过,不过大多数情况下都没问题的~,既然聊到IDE集成tomcat,那就讲一下如何配置吧,Let's go=>

首先需要从官网下载web服务软件(这里以tomcat为例,jetty同tomcat):

可以看到Core中有好几项,第一个zip和tar包的版本均可用于windows或linux版本,需要解压后使用,第三第四第五个分别是专用于32位系统的windows系统版本(需解压使用)、64位的Windows系统版本(需解压使用)、32/64位安装版本(无需解压,安装后会自动添加tomcat服务,多用于windows系统下生产环境)。

 接下来eclipse配置tomcat:

以上配置的时候需要对应下载的tomcat的版本,然后就是配置服务名称、tomcat目录位置、jre:

点完finish后选择run下面的“run configurations...”选项:

好了,项目这就跑起来了\(0^◇^0)/,嗯,这里会有个问题,如果是多个项目的话端口肯定会冲突,如果同时运行的话肯定会失败的,对于端口的配置需要在tomcat的server.xml中配置,修改起来十分的麻烦,至于同时运行,个人也找了很多方法,但都以失败告终,其实这个问题并不是无解,接下来看如何在工程里面集成tomcat插件,可以配置任意端口,服务多开也不会报错!

  工程集成tomcat的好处有很多:版本可随时更改、端口可任意配置且工程拷贝到其他用户的IDE下直接配置运行就可以跑起来了,是不是很easy,just do it ==>

首先,需要在Maven的配置文件pom.xml中添加一个插件(在plugins中):

 1             <!-- maven集成tomcat运行 -->
 2             
 3             <plugin>
 4                 <groupId>org.codehaus.mojo</groupId>
 5                 <artifactId>tomcat6-maven-plugin</artifactId>
 6                 <version>1.1</version>
 7                 <configuration>
 8                     <path>/thirdDemo</path>
 9                     <port>8089</port>
10                     <uriEncoding>UTF-8</uriEncoding>
11                     <url>http://localhost:8089/thirdDemo/student/listStudent</url>
12                     <server>tomcat6</server>
13                 </configuration>
14             </plugin>

如配置jetty,请添加这一段:

 1 <plugin>
 2         <groupId>org.eclipse.jetty</groupId>
 3         <artifactId>jetty-maven-plugin</artifactId>
 4         <version>9.4.8.v20171121</version>
 5         <configuration>
 6           <httpConnector>
 7             <port>9092</port>
 8           </httpConnector>
 9           <stopKey>shutdown</stopKey>
10           <stopPort>9099</stopPort>
11           <webAppConfig>
12             <contextPath>/</contextPath>
13             <!--<contextPath>/${project.artifactId}</contextPath>-->
14           </webAppConfig>
15         </configuration>
16       </plugin>

应为上面两个服务的配置我是在两个不同的工程下,遂各位需要视自己的项目来配置里面的url和path参数,不然项目无法运行可就不好了。

配置完插件,接下来就需要用maven中配置命令就可以无痛运行了啦~(●'◡'●)ノ♥:

项目是不是跑起来了,如果配置的是jetty,请使用“jetty:run"命令。

如果用的是idea,需要这样配置才可运行:

如果是工程集成web服务,请参照此配置:

如果是IDE集成web服务,请参照如下配置,配置完成后点击运行按钮即可将工程跑起来:

是不是巨简单,有木有~?

舒心的事情讲完了,该讲讲我所填过的坑~⊙﹏⊙=>

A>上面已经提到过了,如果在同一个IDE下是不能用IDE集成的的web服务同时跑>1个项目

B>如果在苹果Mac电脑下配置web服务的端口,端口不能是四位数以下的端口,不然跑不起来

C>一定要视项目的新旧程度和所用的jdk版本选择合适的web服务版本,一般,大致的原则是:用较高版本的web服务跑较低版本的工程,不然会出现很奇怪的运行错误

D>如果是工程集成web服务,使用tomcat,那么tomcat的版本只有tomcat7版本可用(这是最高的插件版本),若是jdk8及以上的工程请绕道使用jetty,切记切记!

最后给个成功运行的log:

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco }

[WARNING] !RequestLog

[INFO] Started SelectChannelConnector@0.0.0.0:8088

[INFO] Started Jetty Server

现在是:2017-12-23 16:46:20

大家晚上好~ -|-_-|-

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

搭建知识库xwiki

之前自己使用Django admin和suit完成了初步的个人知识库管理,基本完成了我自己的浏览器标签库和微信公众号的统一管理,但是有一个问题,那就是目前我只能...

3935
来自专栏携程技术中心

干货 | 长连接/websocket/SSE等主流服务器推送技术比较

作者简介 本文由携程市场营销研发部武艺嫱和王宇星以及张子祥共同撰写,武艺嫱在市场营销研发部负责前端,王宇星和张子祥在市场营销研发部负责java后端。 最近做的...

4968
来自专栏Python自动化测试

Android模拟器之Genymotion

之前已经介绍了android原生自带的模拟器,它的运行速度确实很慢,不管是对开发还是测试同学来说,速度慢肯定会影响工作的效率,今天介绍android...

534
来自专栏影子

idea/eclipse下Maven工程集成web服务(tomcat、jetty)

转载请注明出处:http://www.cnblogs.com/funnyzpc/p/8093554.html

772
来自专栏PHP技术

HTTP/2 服务器推送(Server Push)

HTTP/2 协议的主要目的是提高网页性能。 头信息(header)原来是直接传输文本,现在是压缩后传输。原来是同一个 TCP 连接里面,上一个回应(respo...

3236
来自专栏云计算教程系列

如何在CentOS 7上使用Linux审计系统

在Linux审核系统可以帮助系统管理员创建一个审计跟踪,日志服务器上的每一个动作。我们可以通过检查审计日志文件来跟踪与安全相关的事件,将事件记录在日志文件中,以...

1545
来自专栏Python中文社区

基于pyenv和virtualenv搭建python多版本虚拟环境

pyenv简介 由于Python的依赖是基于site的,这对于生产环境来说,是一种简单而正确的方式,然而,对于我们的开发环境,基于这样的管理方式,带来了可怕的第...

2118
来自专栏北京马哥教育

10个方法助你轻松完成Linux系统恢复

在Linux中有一些应用程序可以帮助你保存系统快照。大多数应用程序都是针对于新手的,并不需要高级的Linux操作技巧。我们在这里挑选了10个,你可以从中选择适合...

3205
来自专栏影子

idea/eclipse下Maven工程集成web服务(tomcat、jetty)

3429
来自专栏听雨堂

mongodb的用法

关于新版(2.***)的c#用法,网上基本没有。昨天折腾半天,去构造server,发现现在新版本不需要了,文档是这样的,大概意思,无需像原来那样获取server...

1775

扫码关注云+社区