Jetty是一个跨平台的软件,因此它的二进制发布包可适用于多个平台。 在Jetty应用服务器中部署war项目很简单,只需把项目war包放入Jetty的webapps子目录即可。你都无需重启Jetty,Jetty会自动随时监听webapps目录,自动完成新项目的部署。
关于jetty的更多介绍可回看上一篇jetty学习--简介及安装篇
1、Jetty目录
bin:可执行脚本文件
demo- base:
etc:Jetty模块定义的XML配置文件的目录lib:Jetty依赖的库文件
logs:Jetty的日志目录
modules:Jetty的模块
resources:外部资源配置文件的目录webapps:项目WAR文件的目录
还需要关心根目录下的一个文件:start.d(Wondows系统是start.ini文件),它定义了Jetty的活动模块。
2、基本配置
Jetty默认使用8080端口,要让它使用其他端口(如7070),那么编辑start.d(Wondows系统是start.ini文件),找到jetty.http.port行,修改为:
## Connector port to listen onjetty.http.port=7070(此处仅为区别于Tomcat的8080,可自行修改)保存并退出,再重启Jetty。
Jetty下的webapps是默认的Web项目的部署目录,如果想修改此目录,可修改start.d配置文件(start.ini),移除以下行的注释符号“#”# jetty.deploy.monitoredDir=webapps并把内容修改到你指定的目录。保存并退出,再重启Jetty。
3、运行方式
Jetty运行于模块化的架构之上,这意味着Jetty的功能是以模块的方式运行的,比如HTTP、HTTPS、SSL、日志logging、JMX、JNDI、WebSocket等模块。常用的模块如HTTP、JSP和WebSocket模块都是默认就激活的,而其他如HTTPS、JMX等模块则需要手动激活。 Jetty的modules子目录列出了所有的模块,这些模块是扩展名为.mod的文件,它声明了要被激活的JAR文件(在Jetty的lib子目录下)和XML配置文件(在Jetty的etc子目录下),以及其他要作为模块被激活的资源。比如,可以查看modules子目录的logging.mod文件的内容,可以看到,它声明了配置文件是etc/jetty-logging.xml,所需的JAR包在lib/logging处,另外logs目录是必须的。
[ xml]etc/jetty-logging.xml
[files]logs/
[lib]lib/logging/ **.jar
resources/
通过命令行激活模块激活Jetty的模块有两种方式。第一种方式是通过命令行激活:java -jar start.jar --add-to-startd=logging上面的命令会在Jetty目录下创建logging.ini文件,相关的配置可以在此文件中查到。配置日志后,可以再次启动Jetty,并可以查看到日志模块是激活了的。 通过配置文件start.ini激活模块第二种方式是通过配置文件start.ini激活模块--module=logging这种方式和前一种相似,且更常用。
3、配置模块
正如上面提到的,mod文件声明了相关的XML配置文件,在Jetty的etc子目录下,可以通过这些配置文件来配置模块。比如日志模块声明了相关的配置文件是jetty-logging.xml,可以通过修改此配置文件来调整日志。
4、idea上的jetty部署
jetty部署
(1)点击主面板上Run,在选择Edit Configurations,点击配置面板上的左上角的“+”再选择jetty server,local进入配置
(2)下面才是真正的部署
Application server 选项为添加本机上jetty版本,点击configure,进入配置jetty home为jetty所在目录
URL为映射地址,默认为http://localhost:8080/
选择jetty在本机上的目录
切换配置面板为Deployment点击右边的Artifact,将项目部署到服务器
完成以上操作不要忘记apply on!
(3)在个人项目上部署jetty
单击右键项目,选择open Module Settings
在左面板选择Artifacts,在右下方单击右键选择Add Copy of,再选择Module Output
单击右键Available Elements下的项目,选择Put into Output Root,将项目部署到输出文件的根目录下
来到这里,IDEA上的jetty部署算是完成,点击主面板上run ‘jetty’,运行项目成功。
网友评论