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>

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

配置完插件,接下来就需要用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

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

posted @ 2017-12-23 16:54  funnyZpC  阅读(1141)  评论(0编辑  收藏  举报