java建立工程_如何用Java IDE建立一个Web工程

在建立Java Web工程的时候发现IDEA中的Web工程结构似乎和Eclipse的Web工程结构不大一致,所以就想搞清楚Web工程结构是怎样的.

从Eclipse的非Maven工程开始

我的第一个Java IDE还是Eclipse,用它建立Web工程,只需要新建 Dynamic Web Project即可

7d4d11b0c2e7042a8b4ec12460de02cb.png

通常在Eclipse中配置完还要修改一下部署路径

ee04c9a9e9d06c91341fd746d46bda39.png

这个Deploy Path即为部署路径,是什么意思呢?就是Eclipse会把你的项目输出到Deploy Path中

那输出到Tomcat中文件结构和我们在Eclipse中看到的结构是否一致呢?

b7115b09d96c4849ad67bd07e3064ebd.png

显然并不是一致的,我主要关心的有三点:

1. java代码编译成的字节码去哪了?

2. 我引入的jar包去哪里了?

3. META-INF 是干啥用的?

META-INF: 相当于一个信息包,目录中的文件和目录获得Java 2平台的认可与解释,用来配置应用程序、扩展程序、类加载器和服务 manifest.mf文件,在用jar打包时自动生成。

java代码生成的字节码在WEB-INF中的Classes文件下,我们引入的jar包在WEB-INF的lib文件下。

ad65995c48ad2717e35da51bff9bdb7a.png

所以你的项目要是报ClassNotFoundException时,你就先去lib文件下找找看,看有没有这个jar包。

Eclipse的Maven工程

9cd8b0e1e98c626e919a547dac1b67cb.png

在新建Maven工程的时候我发现了这个,archetypes意味: 典型、原型。那archetype是究竟是什么意思了? 对此,我打开了Maven官网,

In short, Archetype is a Maven project templating toolkit

简而言之,archetype是一个maven项目模板工具包

其实官网还有一堆的解释,不过我都看的云里雾里的,在我看来原型就是一个目录结构模板,当你选择一个archetype的时候就是选择了一种项目结构,同样也包括你编译输出之后的结构,供Tomcat识别的结构。

a34fc8c1419115b5953541ba36143f3b.png

选择这个模板,生成的目录结构如下:

84afe585fd6b12ec67bb9a6f943e6fc8.png

但是选择怎样的模板,最后供Tomcat识别的还是如下:

e9ffd71b892220ae0da0cdefa145b8a1.png

那我不选模板,还想建Web工程可不可以呢?

当然是可以的:

76ba6d8acbf5e1c96cc54aa1bb4a0496.png

7c32abd7a88780bd6f23a17af6ea6338.png

bVbyyrc

右键选择 Java EE Tools 在选择Generate Deployment Descriptor stub 就自动产生了.(实在截不出来图)

IDEA的非Maven工程

选择模板

8a62482dc167bf1158b176bcf59ab9b6.png

380cd00796e39d2503b25981ea72b0f9.png

448061253bac48f3946dc799046d22b5.png

我原本以为目录结构是和Java EE的版本是有关系的,但是当我选择Java EE6的时候,目录结构和Java EE8一样的,但是最后供TomCat识别的目录都是一致的。

不选择模板

d5804a5d6024abd02128b78c70e69b1d.png

cca09f7eadb29f258cd5d001dc9f9fa3.png

ac982c1e5d4f15e5c2842d298702eb61.png

76aa834d30c1d8efa372b8720f3ddd97.png

f3b2fdef1a0a80ae3a8008b972734c67.png

58ca863c824849af3fbdef77e72bcdcc.png

ee53d17abec5d025bd9f5181ea3ce80d.png

ce284a5a236a589c332a1b341917e7d0.png

08082eec66d9d339cd1fa3ffc88153d5.png

aefbc46a3f7e3425a20ae4aaebabec1c.png

IDEA的Maven工程

我是不大喜欢IDEA新建Web工程的Maven archetype,之前建Web工程我都是自己建,不过你选了模板也没多大关系,你只需要在Project Structure中看一下编译后的文件都输出到哪里就可以了。

选择模板

bVbyyrx

bVbyyry

bVbyyrz

bVbyyrA

bVbyyrB

bVbyyrC

bVbyyrD

不选择模板

bVbyyrK

bVbyyrL

bVbyyrM

bVbyyrN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值