- 安装jetty插件
打开项目的pom.xml文件,然后找到build节点,然后添加如下插件12345<plugin><groupId>org.mortbay.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><version>8.1.16.v20140903</version><plugin>
然后重新编译一下,就可以使用jetty插件了,在运行jetty插件需要对setting.xml做修改。
我们知道,maven默认情况下只有org.apache.maven.plugins和org.codehaus.mojo两个grounpId下的插件才支持简化命令调用,像可以运行mav help:system 这样的简介命令。但mvn jetty:run就不行了。因为maven-help-plugin 的groupId是org.apache.maven.plugins,而jetty-maven-plugin的groupId是org.mortbay.jetty。为了能在命令行直接运行mvn jetty:run,用户需要配置setting.xml 如下:
|
|
现在可以使用mvn jetty:run 运行jetty了。Jetty默认监听本地端口为8080,jetty部署的项目的Context path默认是 / , 也就是说,项目的访问入口是:http://localhost:8080
- jetty插件的的配置
在pom.xml 文件中的jetyy的plugin节点下,添加configuration的节点就可以配置jetty了。
- Jetty服务的停止配置
如果希望通过命令 mvn jetty:stop执行关闭jetty服务,则需要如下配置,配置特殊端口 stopPort和控制键 stopKey123456789<plugin><groupId>org.mortbay.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><version>8.1.16.v20140903</version><configuration><stopKey>shoutdown</stopKey><stopPort>9900</stopPort></configuration><plugin>
这下可以通过mvn jetty:stop来停止jetty服务
- 端口的配置
Jetty默认的端口是8080 ,命令行可以修改运行端口:mvn –Djetty.port=8081 jett:run。pom.xml的配置方式如下:
|
|
- 自动热部署
Jetty的自动热部署命令行方式:mvn –Djetty.ScanIntervalSeconds=10 jetty:run。也可以在pom.xml文件中配置,配置如下:
|
|
默认值是0 大于0数值表示开启,0表示关闭,单位为秒,已配置数值为一个周期,自动的扫描文件检查其内容是否变化,如果发现文件变化,则自动重新部署。
- 手动重载
Jetty的自动热部署命令行方式:mvn –Djetty.reload =manual jetty:run。也可以在pom.xml文件中配置,配置如下:
默认值为 automatic,它与大于0的scanIntervalSeconds节点一起起作用,实现自动热部署工作。如果将值设置为manual的好处是,当你改变文件内容并保存时,不会马上触发自动扫描和重部署动作,你还可以继续修改,直到你在console或命令行中敲回车(Enter)时候才会触发加载动作。这样可以更加方便的调试修改。
|
|
- Web上下文
Jetty插件的contextPath 的默认值是 /, 在pom.xml文件可以对Web应用的ContextPath 进行配置,配置如下:
|
|
${project.artifactId} 引用了
项目的静态资源文件目录默认是 src/main/webapp,如果静态资源目录有多个,或者不在默认的 src/main/webapp 目录下,可做如下配置:
引用静态资源文件时,路径不包含资源目录的名称,如 commons/main.css,引用方式为:
- 访问日志的配置
在你的 pom.xml 文件添加如下配置:
org.eclipse.jetty.server.NCSARequestLog 是 org.eclipse.jetty.server.RequestLog 的一个实现类。
org.eclipse.jetty.server.NCSARequestLog 是一种伪标准的 NCSA 日志格式。下面是一些节点参数的解释:
filename:日志文件的名称
filenameDateFormat:日志文件的名称的日期格式,它要求日志文件名必须含有 yyyy_mm_dd 串
logDateFormat:日志内容的时间格式
logTimeZone:时区
append:追加到日志
logServer:记录访问的主机名
retainDays:日志文件保存的天数, 超过删除
logCookies:记录 cookies
启动 jetty 服务,在项目的 target 目录下会生成一个 access-2017_03_10.log 文件,该文件中的其中一条记录如下:
|
|