IntelliJ和tomcat中的目录结构

IntelliJ的官网帮助中心:http://www.jetbrains.com/idea/webhelp/getting-help.html

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应用,效果如下:

时间: 2024-10-12 15:21:14

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

iOS项目开发过程中的目录结构(转)

iOS项目开发过程中的目录结构 我在这个目录结构方面真是吃了不少苦,开始总是觉得快点写快点写,后来发现只有快是不行的,在没有给整个项目的结构有一个清楚的认识和了解之前就匆匆动笔(敲代码啦)是非常冒失的, 好在在后来修改的过程中慢慢琢磨出来一套目录结构,现在发出来给大家参考一下. 项目主目录结构如图: 1.Network主要用于进行网络请求,以及请求完成后对数据进行处理使用, 2.Category:类目,这个文件夹放在这里我觉得是不太准确的,但是具体应该放在哪里我一直无法确实下来 3.Contro

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

徐明明博客:Twitter Storm源代码分析之ZooKeeper中的目录结构 我们知道Twitter Storm的所有的状态信息都是保存在Zookeeper里面,nimbus通过在zookeeper上面写状态信息来分配任务,supervisor,task通过从zookeeper中读状态来领取任务,同时supervisor, task也会定义发送心跳信息到zookeeper, 使得nimbus可以监控整个storm集群的状态, 从而可以重启一些挂掉的task.ZooKeeper 使得整个sto

浅谈android中的目录结构

在开发android应用的过程中,总要去调试APP,安装时又想去了解android的目录结构.然后搜到了一点材料. 原文地址:http://www.hiapk.com/viewthread.php?tid=465392&page=4 Google Android手机的软件为了安全性和稳定性都是默认安装到手机内存里,但是手机内存有限,所以我们会做app2sd操作,来让我们安装的软件放到sd卡上,这个操作是需要rom的支持的.    Android 2.2 可以将手机程序安装在外置的sd卡上,也就是

Android项目在Eclipse中的目录结构

src/ 存放源代码的地方. bin/ 编译后的输出目录.这里你可以找到.apk文件和其他编译后的资源. gen/ 包含R.java文件,这个文件是由ADT自动生成的,请不要随意修改它 assets/ 你能在这里放入原始的asset 文件.例如一些文档,这里的文件会保留原来的文件名被编译到.apk文件中,并且你还能使用文件系统的URL机制来读取文件,例如使用AssetManager类来读取一个字节流. res/ 包含应用程序的资源,如drawable文件, layout文件, string值.

iOS项目开发中的目录结构

目录结构: 1.AppDelegate 这个目录下放的是AppDelegate.h(.m)文件,是整个应用的入口文件,所以单独拿出来. 2.Models 这个目录下放一些与数据相关的Model文件  里面大概是这样: Models |- BaseModel.h |- BaseModel.m |- CollectionModel.h |- CollectionModel.m 3.Macro 这个目录下放了整个应用会用到的宏定义,里面大概是这样: Macro |- AppMacro.h |- Not

MySQL 5.7 源码中的目录结构

MySQl Server的源码可以直接去Github浏览. 这里我们选择5.7版本的:https://github.com/mysql/mysql-server/tree/5.7 也可以通过: git clone https://github.com/mysql/mysql-server.git 下载下来. 源码根目录中主要目录和文件的作用: BUILD:里面包含各个平台,各个编译器下进行编译的脚本: CMakeLists.txt:CMake入口编译文件: client:客户端工具,所有客户端工

整合Flask中的目录结构

一.SQLAlchemy-Utils 由于sqlalchemy中没有提供choice方法,所以借助SQLAlchemy-Utils组件提供的choice方法 import datetime from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String, Text, ForeignK

flask框架----整合Flask中的目录结构

一.SQLAlchemy-Utils 由于sqlalchemy中没有提供choice方法,所以借助SQLAlchemy-Utils组件提供的choice方法 import datetime from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String, Text, ForeignK

Flask学习【第11篇】:整合Flask中的目录结构

SQLAlchemy-Utils 由于sqlalchemy中没有提供choice方法,所以借助SQLAlchemy-Utils组件提供的choice方法 import datetime from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String, Text, ForeignKey