作者:私语茶馆
1.前言
利用Idea创建一个Java EE的Tomcat Web项目,记录一下过程。
Jakarta EE介绍:以前被称为Java EE(Java Platform, Enterprise Edition),但在Oracle将Java EE相关的技术和知识产权转移到Eclipse基金会后,这个技术栈被重新命名为Jakarta EE。Jakarta EE是Eclipse基金会管理的一个开源企业级Java平台规范,用于构建和部署可扩展、安全且可靠的多层企业级Web应用。
IDEA提供一个官方的Wizard覆盖JAVAEE和JakartaEE项目的创建。
环境:开发Web项目所需软件:Idea Ultimate版本、Tomcat7及以上,Jdk1.8及以上。
Artifacts概念:是项目资产的集合,希望放到一起测试,部署或者发布。例如一个Web应用的目录结构或者archive。
Artifacts格式:许多Artifacts的格式适合部署到application server或者云上,例如WAR, EAR, Exploded EAR。Idea提供两种Web应用格式:(1)Web application:exploded:未压缩的Web WAR包;(2)Web Application:Archivie: Web应用的War包。采用JakartaEE会自动生成这两个artifacts。
Target目录:是编译后才会生成的目录,用于存放编译后的结果。需要满足maven结构的项目才会生成。普通项目生成out目录,这个是idea转有。
2. 第一步New Project
第一步:主菜单: File | New | Project,界面如下图所示,几个关键点:
- Generator:选择JakartaEE
- Template:选择Web APPlication
- Building System:选择Maven,
创建Web项目支持Servlet和JSP
按照官方用例,第4点:暂时不选ApplicationServer, 后面会再添加,也可以在这里添加。其他的按照本机安装的版本选择。笔者试了几次,,如果后面添加会有很多问题需要调整。
3. 第2步选择JakartaEE版本
JakartaEE的版本和Tomcat版本的匹配关系如下:
For Tomcat 9, select Java EE 8. For Tomcat 10, select Jakarta EE 9.1.
依赖关系:当前只包括Servlet。
JakartaEE版本设置
然后点击Create,生成的项目结构和一些样例代码,如下图:
样例项目结构
- Pom.xml: Maven的配置文件,描述依赖和插件的
- Index.jsp: 开始页面,并包括一个链接指向hello-servlet
- HelloServlet:继承HttpServlet,并处理/hello-servlet"消息
4.编译&调试项目
(1)编译项目
编译后会生成Target目录。
生成target目录
5.debug项目
Debug项目:
运行结果(会自动调用浏览器输入URL):
Debug结果
6.总结
- 采用Jakarta的Webapplication模板会自动生成:artifacts的配置、Debug/run的配置文件。但在前面要提前把本地Tomcat配置上。
- 最好不要手工创建Application Server等后面会有比较多奇怪问题难以处理。
7.关键的配置信息
7.1.Application Server信息
菜单:FILE-setting:打开设置页面,选择:Build, Execution, Deployment | Application Servers.
点击,并选择Tomcat
7.2.Artifacts信息
Modules信息,必须先有Web模块,才能在artifacts中创建WAR、WAR-Exploded
Artifacts信息:
7.3.run configuration信息
Run Configuration是IDEA用来构建artifacts并将它们部署到application server中。
- 菜单:Run|Edit Configurations
- 点+,展开Tomcat Server节点,并选择Local
- 会提示没有artifacts,点击Fix配置。会自动添加Artifacts对象
- 在Server的tab页面中,设置URL指向根资源
配置Run/Debug Configurations-Server
Run/Debug Configurations信息-deployment