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:
[WARNING] !RequestLog
[INFO] Started SelectChannelConnector@0.0.0.0:8088
[INFO] Started Jetty Server
现在是:2017-12-23 16:46:20
大家晚上好~ -|-_-|-