游客发表
把war包扔进Tomcat的运行webapps目录,双击startup.bat,运行浏览器输入localhost:8080/项目名——如果你还停留在这种石器时代玩法,运行那确实该看看IDEA里是运行怎么跑的。JetBrains家这个IDE早就把JavaWeb开发拧成了流水线,运行但很多人卡在第一步:项目结构建错了。运行
新建项目时别选错类型。运行Community版(社区版)没有JavaEE支持,运行你得用Ultimate版(旗舰版),运行或者干脆用Spring Initializr生成Spring Boot项目——那玩意儿自带内嵌Tomcat,运行省事到令人发指。运行如果你非要用传统方式,运行选Java Enterprise,运行勾上Web Application,运行IDEA会给你生成标准的运行src/main/java、src/main/resources、src/main/webapp三层结构。webapp下面记得建WEB-INF目录,放web.xml——虽然Servlet 3.0以后可以用注解代替,但老项目里这文件还在。
配置Tomcat是第二个坑。打开Run菜单,选Edit Configurations,点左上角加号,找到Tomcat Server → Local。在Application server那一栏点Configure,指向你本地解压的Tomcat目录。这时候有个细节容易忽略:Deployment选项卡里点加号,选Artifact,把项目打包成war exploded格式——选war格式也行,但每次改代码都要重新打包,debug时简直想砸电脑。war exploded是解压目录,IDEA会直接把编译后的class和资源文件同步过去,改完代码按Ctrl+Shift+F9,刷新页面就能看到效果,省掉重启Tomcat的时间。
跑起来以后,浏览器地址栏敲什么?默认是localhost:8080/项目名_war_exploded/。这串又长又丑的路径能改。在Server选项卡里找到Application context,把它改成/或者/hello,然后重启Tomcat,访问路径就清爽多了。我习惯改成/,这样直接localhost:8080就能进首页,测试接口时少敲几个字符,幸福感提升明显。
热部署是另一个让人又爱又恨的功能。IDEA默认的On frame deactivation选项是Update resources,意思是窗口失去焦点时自动把改动过的静态资源推到Tomcat里。但你要是改了Java代码,光靠这个不够,得把下拉框换成Update classes and resources。注意,这只是热替换class文件,如果改了方法签名或者新增了字段,还是会报NoSuchMethodError,这时候老老实实重启吧。别信网上那些吹JRebel的,收费插件确实香,但免费版IDEA配好update classes,应付日常开发足够了。
最后说个我踩过的坑:端口被占。Tomcat默认8080,你要是开了别的服务占了这端口,启动日志会报Address already in use。这时候别慌,在Run配置里改HTTP port就行,改成8081、8082随便你。但记住,改完端口后访问URL也要跟着变,别到时候又跑来问为什么打不开页面。
启动完看到控制台输出"Server startup in xxx ms",基本就稳了。要是报ClassNotFoundException,多半是依赖没导全——右键项目,Open Module Settings,在Libraries里把jar包加进去。IDEA的提示还算友好,红色波浪线会告诉你哪里缺东西,照着补就行。跑通一次之后你会发现,这玩意儿比Eclipse的wtp部署直观多了,至少不用手动清理临时文件。
随机阅读
热门排行
友情链接