1 . 简单介绍
开发 Web 项目都需要使用 服务器来运行项目,这是必不可少的 。当然服务器的选择 可以是 Jetty ,也可以是 Tomcat 。今天就介绍一下 如何配置使用 ,开发工具:IntelliJ Idea 。
2 .使用本地下载的服务器
2.1 配置步骤 :
★ 无论是 Tomcat 还是 Jetty , 首先需要到其官网下载 。
★ Idea 加载 服务器所在的文件夹 并配置相关参数。
① 点击 Idea 如图所示按钮
② 点击 Edit Configurations 则打开 Run/Debug Configurations 面板 , Idea 的该模块 主要是针对 服务器运行项目时的一些配置 。如下图所示
③ 点击 + 按钮 则显示 Add New Configuration ,下拉表中列出了可添加的配置,其中就包括了 Tomcat Server 和 Jetty Server ,选择需要的Server ,然后配置以下属性
Server 下的 :
★★ Appliaction Server :服务器的本地地址
★★ 其他的一些配置
Deployment
★★ + 添加 服务器需要启动的项目的 artifact , 配置 Context root
2.2 配置完成后的 启动和调试
★ 启动 点击小三角形图标即可启动项目
★ 调试 点击启动图标右边的甲壳虫图标即可 进入调试模式 。
3 . 使用gradle 集成 jetty 插件 ,远程调试debug
3.1 Jetty 插件的集成 (也可参看 gradle 官网相关文章介绍)
步骤 :
★ 添加远程调试 Remote
添加 远程调试步骤 :
★ ★ 同图 ① 和 图 ②,打开Edit Configurations 后
★ 项目集成 jetty 插件 及jettyRun task :build.gradle 中 配置 (groovy 语言)
apply plugin: 'jetty'
jettyRun {
contextPath = ''
httpPort = 8080
reload = "automatic"
scanIntervalSeconds = 1
}
★ 环境变量配置和运行 :可以通过 JAVA_OPTS 或者 GRADLE_OPTS 设置参数
主要的参数如下:
set GRADLE_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n
gradle jettyRun // 使用本地的gradle ,或者 gradlew jettyRun
补充:这里也可以对 jvm进行配置 以及设置一些项目中全局参数变量
set JAVA_OPTS= -DRUN_ENV=dev -XX:+CMSClassUnloadingEnabled -XX:PermSize=256M -XX:MaxPermSize=512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
gradlew jettyRun
另外, jetty 会使用内存映射文件来缓存静态文件,包括 js 和 css;所以导致在 windows 下 js 和 css 文件 会被锁定,无法进行编辑;
解决方法,在 web.xml 中添加如下 上下文参数(第一个用于eclipse):
<!-- Auto load static files in Jetty -->
<context-param>
<param-name>org.eclipse.jetty.servlet.Default.useFileMappedBuffer</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>org.mortbay.jetty.servlet.Default.useFileMappedBuffer</param-name>
<param-value>false</param-value>
</context-param>