Eclipse 中使用maven 插件配置jetty
之前使用的tomcat插件时是 依赖的模块时通过 jar包的方式放入到web项目中的lib中,如果当依赖的模块发生改变时 。 需要重新编译 然后打成jar包 放在web项目的lib中 这种 方式显然非常的繁琐。
从最开始的使用
maven-tomcat-plugin、 cargo-maven2-plugin、以及jetty-maven-plugin 每种方式都尝试过。
最终选择使用jetty-maven-plugin 作为web容器 来实现。
项目的结构大致是:
midea-project --*项目(pom) 用来管理midea-common 、midea-busi 、midea-webapp、midea-entity
midea-common --公共模块(jar)
midea-busi --业务模块(jar)
midea-entity --实体(jar)
midea-webapp --web模块(war)
midea-webapp 依赖 midea-busi 。而midea-busi 依赖midea-common 和 midea-entity
把midea-webapp 项目部署到jetty容器中,可以实现随时改动midea-common 、midea-busi 模块时不需要手动启动jetty容器。而jetty容器会自动扫描到改动的java文件自动重新启动jetty服务。
maven项目的创建以及配置也不多说了,网上很多。
然后,在web项目中的pom.xml文件中加入plugin插件:
<build> <plugins> <!-- jetty插件用于部署web项目; --> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.0.v20120127</version> <configuration> <!-- 扫描时间 --> <scanIntervalSeconds>10</scanIntervalSeconds> <!-- 项目上下文 --> <webApp> <contextPath>/mideaAdmin</contextPath> </webApp> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <port>9999</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> <stopPort>8191</stopPort> <stopKey>ts</stopKey> </configuration> <!-- 在执行install操作时,启动jetty容器. --> <executions> <execution> <id>start-jetty</id> <phase>install</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> <finalName>mideaAdmin</finalName> </build>
配置完插件之后,在Debug Configration中配置如下:
当maven执行install操作时 就会启动jetty容器。
控制台输出如下就代码启动成功。