-
Maven Jetty Plugin
配置指南
(
翻译
)
Jetty
版本信息
Jetty7 -
此插件更名为
jetty-maven-plugin
,
以便更符合
maven2
的协定。
为了在
Web
应用做快速
应用开发做准备,详见
多
Web
应用源
目录
。
为了在
Jetty
里运行一个
Web
应用,你如果按照
Maven
默认的做法构造
(resources
文件
存放
,$${basedir}/src/main/webapp
p>
下
Classes
文件存放在
$${Directory
}
下,
的配置描述
$${basedir}/src/main/w
ebapp/WEB-INF/
)
,
你
不需要配置任何其它
东西。
只需输入:
mvn
jetty:run
这将在端口为
8080
的
Jetty
服务器上启
动你的项目。
Jetty
将持续运行,直到插件是明
确停止,例如,按下
,您也可以
使用
mvn
jetty:stop
命令。
委托这个插件运行
Web
应用是非常方便的,因为它可以配置成能定期扫描
Web
应用的
任何改变和自动部署
W
eb
应用。这就可以消除开发周期中编译和部署的步骤从而更加富有
成效。
你使用的
IDE
时对项目做
的任何改变,
都将直接自动导入到当前运行的
web
容器里,
使您可以立即对其进行测试,立竿见影。
如果不
管出于什么原因,
你总不能运行一个未组合过的
web
应用吧,
在下文讨论中提到
这个插件同样也支持
jetty:run-
war
和
jetty:run-
exploded
命令。
关于其
他命令的更多信息请查阅
Jetty
文档中的
< br>mvn jetty:run page
、
mvn
jetty:run-exploded
page
、
mvn jetty:run-war
page
。
自动执行插件
有时候,例如在做集成测试时,你
当然希望在测试开始时自动运行你的项目,测试完成
时停止,而不只是手动的在命令行执
行
mvn jetty:run
吧。
要做到这一点,你需要为
jetty
插件创建几个
脚本,并使用
配置选项来预防
Jetty
无限期运行,迫使它只在执行
Mave
n
时才运
行。
像下面
<
/p>
片段中描述的
pre-integration-
test
和
post-integration-test <
/p>
就是用来触发执行
和关闭
Jetty
p>
:
.jetty
p>
注意<
/p>
:
Maven
默认都是通过
s
的
groupId
来查找
插件的,
即使这个
groupId
跟上
面要表达的内容完全不同。
为了更明确的指向这个
groupI
d
是我们需
要的插件,唯一的办法就是在
也做如下设置:
...
如何通过命令行停止插件
委托
Jetty
插件无限期运行的目标包括
run
、
run-war
和
run-exploded
。你可以在视窗控制
终端(如
DOS
< br>窗口)使用
关闭它,或者在另一个视窗
控制终端使用
stop
目标关闭。
如果
你希望能使用
mvn jetty:stop
执行关闭命令,
则需要你在插件中配置一个特殊的端口和
控制键。下面是一个例子配置:
.jetty
开始:
mvn
jetty:start
关闭:
mvn jetty:stop
如何配置插件
配置公共的
run, run-war
和
run-exploded
目标
<
/p>
不管你执行哪一个
Jetty
目标,下述
的配置参数都是可用的。一般来说它们分为应用于
Web
容器的
配置和应用于具体
web
应用的配置:
容器级配置
Connectors
可选
.
一组
tor
p>
对象,包含
jetty
的端口监听。
如果你不指定任何一个
NIO
的
ChannelConnector
,
将默认配置<
/p>
一个
8080
端口。当然,你可以在命令
行使用系统参数
改变默认端口。例如
-=9999
jetty:run
。另外,您也可以指定许多您想要的连接。
jettyConfig
可选
。
p>
除插件配置参数外,
你也可以指定一个
p>
文件的路径。
当你有其他的
web
应用和操作需要部署时,
或者一些你无法在插件中配置的
jetty
对象
,
你就
可以使用到它
,
。
scanIntervalSeconds
可选
[
秒
]
< br>。
在很短的时间间隔内在扫描
web
应用检查是
否有改变,如果发觉有任何改变则自动热部署。默认为
< br>0
,表示禁用热部署检查。任何一个
大于
0
的数字都将表示启用。
systemPropertie
可选
。它们允许你在设置一个插件的执行操作时配置系统属
性<
/p>
.
更多的信息请查阅
Setting
System Properties
.
userRealms
可选。
一组
ty
.Us
erRealm
实现。请注意,
它没有一个默认的
Realm
。
如果你在你的
应用了一个
Realm,
你需要在这里
指定一
个对应的
Rleam
。
requestLog
可选。
一个<
/p>
tLog
请求日志接口的实现。
比如
p>
questLog
就是一个作为
NCSA<
/p>
格式的
实现。
[
译注:
(美国)
国家超级计算技术应
用中心
(NCSA)
公用格式是常
用的标准日志格
式
]
“
手动重载
”
从
Jetty 6.2.0pre0
版
本
起,添加了一个新的可用组件,用于控制
web
应用的重新部署。
配置参数:
<
/p>
当你设置成
手动模式
后,
web
应用不会自动的扫描和重部署。相反,用户可以控制的
< br>Web
应
用时,通过键入
”
p>
回车换行键
”
重载。当设置成
自动模式
时,将根据
scanIntervalSe
conds
参
数的设置不定时的扫描和自动重部署。你也能通过
在命令行使用系统参数
-Djetty
.reload
配置选择重载的模式。
比如:
将强制手动重载,不管
文件里如何配
置。同理
:
每隔十秒
中后台将重载一次,而不管
文件里如何
配置。
Web
应用级配置
contextPath
可选
p>
。这个
contex
地址指向你的
webapp.
默认情况下,它被设置
成该项目
的
的
。当然你也可以设置一个你喜欢的从而覆盖它。
tmpDir
可选
。
它作为
web
应用的临时目
录。
它默认设置在
{
$${basedi
r}/target
}
下,
但是你也可
在这里改变它的路径。
overrideWebXml
可选
.
它是一个应用于
web
应用的
的备用
文件
.
这个文件可以
存放在任何地方
.
你可以根据不同的环境中
(
如测试、开发等等
)
利用它增<
/p>
加或修改一个
配置
.
webDefaultXml
可选
.
文件用来代替
webapp
默认提供给
jetty
< br>的文件
.
从
< br>6.1.6rc0
发行版开始,一个替代的更灵活的方式是配置
< br>web
应用时使用
webAppConfig
元素代替上面列出的那些单独的参数。
使用
web
AppConfig
元素,
你能有
效的
调用
Context
类中任何
sett
er
方法。下面显示的列
子将展示这个元素跟它上面的例子比较
是如何配置同样的特性的
(
当然它们还有更多的特性
能让你设置
)
:
...
...
.jetty
—
we
b
应用的配置
-->
p>
—
从
jett
y6.1.6rc0
起
,
你能用
webAppConfig
元素代替
p>
p>
-->
—
容器
的配置
-->