刚刚接触IntelliJ IDEA这款神器,很多东西都在摸索中,对于像在eclipse及myeclipse中创建动态web工程那样简单的事在idea中也搞了好久,今天我就分享一下本菜鸟痛苦的学习过程,下面是我的总结,希望对大家有一点帮助。
官方指导页面:https://www.jetbrains.com/help/idea/2017.3/developing-a-java-ee-application.html
1.IntelliJ IDEA配置Tomcat服务器
步骤1:打开设置settings
在IDEA欢迎界面(打开IDEA进入项目之前或打开了一个工程后通过File -> close project都会进入此界面)点击底部的Configure下拉列表再点击Settings
或
File -> Settings快捷键:ctrl+alt+s
步骤2:点击Plugins,在插件搜索框中输入tomcat进行搜索找到Tomcat and TomEE Integration插件,并确定其已经勾选,否则在下一步添加Tomcat Server时会没有这个选项
步骤3:添加Tomcat服务器
Build,Execution,Deployment --> Application Servers --> 点击+,选择Tomcat Server
此时会弹出Tomcat Server弹出框,Tomcat Home选择Tomcat安装目录即可,选择好后点击OK即可完成Tomcat配置
2.创建动态web工程
步骤1:在IDEA欢迎界面点击Create New Project 创建新工程或File --> New --> Project
,这样创建工程向导页会打开
步骤2:选择Java Enterprise --> 指定JDK --> 选择java EE版本 --> 选择配置好的应用服务器Application Server --> 在Additional Libraries and Frameworks下勾选Web Application复选框 --> 点击Next
步骤3:指定工程名及路径,More Settings中的选项会根据Project name和location同步(默认即可),点击Finish完成创建
创建完成的Project Structure如下图(和eclipse创建的工程并无太大区别):
- .idea文件夹和webapp.iml是IDEA自动创建的,包含了工程和模块的配置数据
- src文件夹是源码目录
- web文件夹相当于eclipse创建的web工程WebContent文件夹,包含了WEB-INF/web.xml及index.jsp
- External Libraries包含了JDK及Tomcat带的jsp-api、servlet-api jar文件
再贴上一张eclipse创建的web工程的目录结构图(可以对比一下)
主要的不同点是使用上述方法IDEA创建的web工程WEB-INF下没有lib目录
步骤4:完善工程目录
- 添加WEB-INF/lib目录
方法一:点击WEB-INF,右击New --> Directory,directory name填写lib,拷贝项目所需的jar包到此目录,右击lib目录 --> Add as Library
注意:这种方法如果你不拷贝jar包到lib下,右击时是没有Add as Library选项的
这时会弹出Craete Library对话框,name填写lib即可,其它默认,点击OK确定
添加完成可在Project Structure中的Libraries中看到,至于打开Project Structure,这里提供两种方法:File --> Project Structure(快捷键ctrl+alt+shift+s)或点击Navigation Bar中的Project Structure按钮(如下图)
如果你没有这个Navigation Bar可在View中勾选Navigation Bar
方法二:打开Project Structure --> 点击+选择java --> 在弹出的Select Library Files中在WEB-INF下创建lib目录选择并点击OK --> 在弹出的Choose Categories of Selected Files中选择Jar Directory点击OK --> 在弹出的Choose Modules中点击OK
- 添加conf目录用于添加配置文件
方法一:右击项目New --> Directory --> directory name填写conf,点击OK --> 右击conf目录Mark Directory as --> Sources Root
这样创建的conf source folder在Project Structure的Modules中可以看到
方法二:在Project Structure的Modules中右击项目 --> New Folder --> Folder name填conf,点击OK --> 右击新建的conf --> Sources --> 点击底部的OK
3.本地Tomcat运行应用
点击Navigation Bar上的运行按钮(快捷键shift+f10),debug快捷键shift+f9
或
在左下角找到Application Servers(没有的话View --> Tool Windows --> Application Servers打开即可),点击run按钮
运行成功后会默认打开Chrome浏览器访问http://localhost:8080/
运行后Run窗口如下图:
4.修改服务器配置
点击run configuration selector选择Edit Configurations,这时会打开Run/Debug Configurations窗口
或
在Application Servers窗口右击选择Edit Configurations,这时会打开Edit Server Run Configurations窗口,这与上一个窗口有略微差别
说明:在创建Web项目的时候如果手速比较快,没有添加Tomcat,可按如下方法设置
点击+ --> Tomcat Server --> Local
点击Deployment选项卡 --> 点击+ --> 选择Artifact
5.将应用打成war包
步骤1:打开Project Structure --> 选择Artifacts --> 点击+ --> Web Application: Archive --> For 'webapp: war exploded'
步骤2:生成manifest文件:点击Create Manifest且同意IDEA建议的位置 (web/META-INF/MANIFEST.MF)
步骤3:点击Project Structure对话框的OK按钮
步骤4:Build --> Build Artifacts --> 在弹出的Build Artifact弹出框选择webapp:war下的Bulid,点击
至此,项目打包成功,可以在工程的out/artifacts/webapp_war下看到war包,IDEA默认以工程名+_war.war来命名
也可以在磁盘上看到这个war包
6.利用IDEA远程部署项目到Tomcat服务器
原来在eclipse下将项目导出为war包后往往需要将war包上传到服务器,进行部署,但IDEA提供了方便易用的远程部署方案,下面一起来看看把。
远程部署服务器ip:192.168.25.129
Tomcat版本:8.5.24
启动Tomcat后查看是否能正常访问
- 服务器端的配置
修改$Tomcat_HOME$/bin/catalina.sh,添加如下配置
export CATALINA_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.25.129"
注意:hostname为你自己远程服务器的ip地址
实际上是打开jmx的1099端口,这可参考IDEA官网:https://www.jetbrains.com/help/idea/2017.3/run-debug-configuration-tomcat-server.html
- IDEA配置
步骤1:添加远程Tomcat服务器
Edit Configurations --> 点击+ --> Tomcat Server --> Remote
步骤2:Remote Server配置
name随意,选择Deployment选项卡 --> 点击+ --> Artifact --> 选择生成的war包,点击OK
切换到server选项卡,进行远程服务器的关键配置
点击Host后的...会打开如下Deployment窗口
测试连接若连接成功会出现以下的弹出框
远程server设置完毕,点击Deployment窗口底部的OK即可
接下里是一些剩余的配置:
到这里就配置成功了。。。
- 远程部署运行测试
或
到服务器上看一下
转载自: https://segmentfault.com/a/1190000012762629