IntelliJ和tomcat中的目录结构
 
 
project和module:
1、通过 .idea 下的modules.xml文件进行modules的管理,定义了module对应的iml文件,定义了iml文件的filepath和fileurl,通过iml文件加载module,如果修改了iml文件的filepath和fileurl,则定位不到iml,无法正确加载module。
 

 
当创建project时,其实也就默认创建了一个parent module,一个project下可以包含多个module(childmodule),childmodule会在下一级的目录中创建。
 
PhildeMacBook-Pro:IdeaProjects Phil$ ls
JavaWeb TestProject firstAngularJS weixin
PhildeMacBook-Pro:IdeaProjects Phil$ cd TestProject/
PhildeMacBook-Pro:TestProject Phil$ ls
ChildModule TestProject.iml out src web
 

 
.idea:一般是project的配置文件和配置信息,指定了artifact的位置,指定了项目中包含的modules(modules.xml文件);
out:则是打包成war的发布包artifact;war下面,一般包含一个index.jsp文件,WEB-INF目录,WEB-INF目录下包含web.xml配置文件、classes(编译成.class的java类)和lib文件夹(其它依赖的jar包等);
src:是project的原始文件,一般项目的java文件等都需要放在此目录下,可以在src目录中创建package,放各种java class类;
web:相当于webroot目录,是根据src生成.class二进制文件,是web application的主目录,包括index.jsp,WEB-INF目录,WEB-INF目录下包含web.xml配置文件、classes(编译成.class的二进制文件)和lib文件夹(其它依赖的jar包等);项目所需要的资源,比如jsp页面,image等,都可以放在web目录下。
.iml文件,module的对应文件;
External Libraries:主要包括tomcat和jdk的引用jar文件;
 
编译发布的一般过程为:
1、make:将java文件编译(compile)成.class二进制文件;
2、build成artifact:将class文件build成war包;
3、deploy:部署,选择artifact部署发布到tomcat服务器中。
 
可以向一个project中添加多个子modules,这些module可以也是web application,可以同时进行make,bulid,同时deploy到tomcat中,只需要注意在tomcat中的相对位置区分开即可。如下所示:

 
tomcat可以通过相同的IP、端口,同时发布不同的web应用,效果如下:

 

关于output目录:
IntelliJ在build成artifact(war)时,可以选择output directory:
直接output到tomcat中,这样当IntelliJ 关闭时,也可以直接访问发布到tomcat中的web应用,例如:
/Users/Phil/Documents/DevOps/tomcat/apache-tomcat-9.0.0.M10/webapps/JavaWeb/out/artifacts/JavaWeb_war_exploded
如果这样,则在tomcat的webapps目录下,就可以生成web项目的文件夹,如下:
/Users/Phil/Documents/DevOps/tomcat/apache-tomcat-9.0.0.M10/webapps/JavaWeb/
 
默认是output到project所在工程下的out文件夹中,在tomcat的webapps下并不生成相关文件夹,而是tomcat重定向到此artifact。这样也比较合理,毕竟开发机只是调试;实际部署时,还是需要将war远程cp到生产服务器的tomcat中。
 

IntelliJ和tomcat中的目录结构的更多相关文章

  1. Twitter Storm源代码分析之ZooKeeper中的目录结构

    徐明明博客:Twitter Storm源代码分析之ZooKeeper中的目录结构 我们知道Twitter Storm的所有的状态信息都是保存在Zookeeper里面,nimbus通过在zookeepe ...

  2. Tomcat中work目录

    Tomcat中work目录的作用: jsp运行时都要先转换成servlet,tomcat容器启动时会在目录下的work目录中生成一系列的文件夹和.java文件和编译后的.class文件. jsp最终转 ...

  3. Tomcat中work目录的作用

    今天在修改了某个jsp后发现:tomcat容器启动后,访问该jsp返回的结果依然是修改之前的内容,略感不解,于是乎研究了一下Tomcat中work目录的作用. Tomcat中work目录的作用: js ...

  4. Flask【第11篇】:整合Flask中的目录结构

    整合Flask中的目录结构 一.SQLAlchemy-Utils 由于sqlalchemy中没有提供choice方法,所以借助SQLAlchemy-Utils组件提供的choice方法 import ...

  5. Tomcat安装及其目录结构介绍

    Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat的安装版本有绿色解压 ...

  6. 浅谈android中的目录结构

    之前在android游戏开发中就遇到本地数据存储的问题:一般情形之下就将动态数据写入SD中存储,在没有SD卡的手机上就需另作处理了;再有在开发android应用的过程中,总要去调试APP,安装时又想去 ...

  7. 配置Tomcat直接显示目录结构和文件列表

    Tomcat是直接显示目录结构和文件列表,只是在配置里面给关闭了. 关键在这里:\conf\web.xml 这个文件有一段配置直接控制Tomcat是允许显示目录结构和文件列表. <servlet ...

  8. IDEA中Java目录结构

    IDEA中Java的目录结构 1.首先新建Project,选择Empty,新建空的项目 2.选择Module时候,需要选择JDK,JDK只需要选择到Java Home目录就可以了 3.创建好Modul ...

  9. iOS项目开发中的目录结构

    目录结构: 1.AppDelegate   这个目录下放的是AppDelegate.h(.m)文件,是整个应用的入口文件,所以单独拿出来.   2.Models   这个目录下放一些与数据相关的Mod ...

随机推荐

  1. ORACLE查看并修改最大连接数

    http://blog.sina.com.cn/s/blog_4df2251d0100hkzv.html   第一步,在cmd命令行,输入sqlplus 第二步,根据提示输入用户名与密码 1. 查看p ...

  2. Selenium自动化测试项目案例实践公开课

    Selenium自动化测试项目案例实践公开课: http://gdtesting.cn/news.php?id=55

  3. IOS UITableView下拉刷新和上拉加载功能的实现

    在IOS开发中UITableView是非常常用的一个功能,而在使用UITableView的时候我们经常要用到下拉刷新和上拉加载的功能,今天花时间实现了简单的UITableView的下拉刷新和上拉加载功 ...

  4. PS1--cannot be loaded because the execution of scripts is disabled on this system

    在nagiosXI上,通过nsclient++ 引用plugin “check_ms_win_disk_load”(https://outsideit.net/check-ms-win-disk-lo ...

  5. node.js 的 os 模块

    Node.js的os module 提供了一系列跟操作系统相关的操作函数,比较简单,所以功能也就十分有限.我们可以去官网看各个函数的介绍: http://nodejs.org/api/os.html ...

  6. spring boot 拦截器

    @SpringBootApplicationpublic class Application extends WebMvcConfigurerAdapter { public static void ...

  7. web.config中httpRunTime的属性

    配置httpRuntime也可以让FileUpload上传更大的文件,不过设置太大了会因用户将大量文件传递到该服务器而导致的拒绝服务攻击(属性有说明) <httpRuntime> < ...

  8. 1、图解Oracle Logminer配置使用

    LogMiner配置使用手册 1 Logminer简介 1.1 LogMiner介绍 Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻 ...

  9. Xcode 报错信息

    1.CUICatalog: Invalid asset name supplied: 原因是: 使用的方法[UIImage imageNamed:@""]; @"&quo ...

  10. 领域实体框架Rafy2 发布了

    在2009年我在codeplex发布了1.0版本OpenExpressApp,下载地址:http://openexpressapp.codeplex.com/.OEA 1.0 作为我十多年开发工作的一 ...