IDEA中WEB项目结构和Artifacts设置

公司的WEB项目结构一直比较随意,没有统一的规范,新增项目也是直接用旧的项目文件夹拷贝过去修改,时间长了以后项目文件结构混乱,研究了半天终于找到了(可能)正确的目录结构设置,能够直接输出正确结构的Artifacts可直接部署。

I.开发工具

IDEA

II.项目结构

【更新】maven推荐目录结构:

  |-->pom.xml           ---->pom文件
  |-->src               ---->源码包:
  	   |-->main           ---->源码:
            |-->java           ---->java源码
            |-->resources      ---->配置文件
            |-->webapp    ---->app应用文件
                 |-->WEB-INF
                      |-->web.xml
                 |-->index.jsp
       |-->test           ---->测试源码:
            |-->java           ---->java测试源码
            |-->resources      ---->测试配置文件

我的目录结构,就这样吧懒得改了。。

项目文件夹
├─lib
├─src
│  └─main
│      ├─java
│      └─resources
└─web
    └─WEB-INF
            web.xml

III.设置文件夹的类型

打开IDEA顶部菜单栏 - File - Project Structure

设置Project

Project compiler output: 标识的是整个项目的生产环境资源输出目录,正确设置以后会包括编译后的class文件、lib文件、前端文件等。
输出目录文件夹名字随意:项目文件夹\target\
IDEA中WEB项目结构和Artifacts设置_第1张图片

设置Modules

  • Sources
    src目录为Sourcessources目录为Resources(如果有)
    IDEA中WEB项目结构和Artifacts设置_第2张图片

  • Paths
    Compiler output选择lnherit project compile output path(通常是默认选中)
    IDEA中WEB项目结构和Artifacts设置_第3张图片

设置Libraries

选择“+” - Java - 选择lib文件夹即可
IDEA中WEB项目结构和Artifacts设置_第4张图片

设置Facets

src\main\web\WEB-INF\web.xml如果不存在,需要手动创建。
选择“+” - Web - 双击选择当前项目
IDEA中WEB项目结构和Artifacts设置_第5张图片
Deployment Descriptors选择src\main\web\WEB-INF\web.xml文件
Web Resource Directories选择src\main\web目录

IDEA中WEB项目结构和Artifacts设置_第6张图片
项目中的前端文件:HTML、CSS、JS、JSP等放在WEB目录下即可。

设置Artifacts

根据各自项目部署方式自行选择

选择“+” - Web Application: Exploded - From Modules… - 选择当前项目即可。
IDEA中WEB项目结构和Artifacts设置_第7张图片
Name: 指定打包输出目录的名称。
Type: 指定打包方式,我们公司使用的是Web Application: Exploded
Output directory: 会自动指向到target\artifacts下,可以自行设置项目打包输出目录。

IV.打包发布

把java文件、前端文件都准备好了以后,选择IDEA顶部工具栏 - Build - Build Artifacts…,指定的输出目录下会生成项目文件,包含前端文件、包含lib和class类文件的WEB-INF。
直接用这个 _war_exploded 文件夹部署到服务器上即可。
IDEA中WEB项目结构和Artifacts设置_第8张图片

遇到的坑

lib包在WEB-INF下,一次部署项目时有个jar包识别不到,部署失败,把lib文件夹拷贝一份放到WEB-INF上一级目录,就是项目根目录下才解决了问题部署成功。

你可能感兴趣的:(intellij-idea)