刚开始接触maven web项目的时候,相信很多人都会被它的目录结构迷惑。

为了避免初学者遇到像我一样的困扰,我就从一个纯初学者的视角,来分析一下这个东西。

1,比如说,我们拿一个常见的目录结构来看,如下。

2.上图中,为啥又有Java Resources文件夹的代码,又有src文件夹的代码呢?那我想改代码要改哪里。

其实,Java Resources文件夹下面的代码都是以包的形式展现的,主要是为了开发人员更好的找到修改的代码文件。

Java Resources文件夹下的代码和src文件夹下面的代码其实就是一份。

3.但是src下面还多了一个webapp的文件夹,这是放置前端页面以及脚本等内容的文件夹。

4.那么整个工程编译生成之后,这些文件夹的层次关系变成啥样了呢?在工程视图中,选中工程名,右键选择属性,看看对应的配置信息就知道了。

如下图,可见,webapp这个文件夹生成之后,其实webapp就相当于根目录了,webapp下面的文件/文件夹其实就是对应根目录下的文件/文件夹。

而Java Resources文件夹下的代码(即src/main/java和/src/main/resources),生成之后就跑到了根目录下的WEB-INF下的classes的路径下面了。

PS:多啰嗦一个东西,就是我们在一些例如spring的xml配置文件里面,经常可以看到<import resource="classpath:spring-mybatis.xml" />类似的配置。

这里的这个spring-mybatis.xml文件是怎么找到的呢,其实它生成后,不就是在根目录下的WEB-INF下的classes的路径下嘛,这个就是classpath啦。

eclipse中Maven web项目的目录结构浅析的更多相关文章

  1. eclipse中maven web项目部署时缺少classes文件或者resources文件

    写这篇博客的原因 问题描述 昨天发现eclipse中maven web项目部署时缺少classes文件或者resources文件 本来以为是很常见的原因, 依次检查"Java Build P ...

  2. 在eclipse中maven web项目部署到tomcat,访问不了

    修改eclipse中tomcat发布路径后,能正常访问

  3. 转载Eclipse中Maven WEB工程tomcat项目添加调试

    转载地址: http://blog.csdn.net/free4294/article/details/38260581 一.建立一个maven  WEB项目 1.file->new->o ...

  4. Eclipse中Maven WEB工程tomcat调试

    最近没事了玩一下maven,使用maven管理工程中的依赖包非常的方便.建立maven web工程的时候开始不知道怎么用tomcat来调试,总是使用mave的tomcat插件发布了后来调试,觉得非常的 ...

  5. 使用Maven构建Web项目的目录结构

    1.Web项目的目录结构     基于Java的Web项目,标准的打包方式是WAR.与JAR比较,包含更多的内容,比如JSP文件.Servlet.Java类.web.xml配置文件.依赖JAR包.静态 ...

  6. Eclipse中的Web项目自动部署到Tomcat的webapp目录下

    Eclipse中的Web项目自动部署到Tomcat   原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写 ...

  7. Eclipse 搭建 Maven Web项目

    第一步:安装JDK: 第二步:安装Eclipse: 第三步:安装tomcat7: 第四步:安装maven插件: 4.1 下载maven:http://maven.apache.org/download ...

  8. eclipse创建maven web项目

    eclipse创建maven web项目: 1.安装eclipse maven插件 2.新建maven project选择webapp模板. 3.改造为maven文档结构. 4.添加项目的JAVAEE ...

  9. Eclipse创建Maven Web项目 + 测试覆盖率 + 常见问题(2015.07.14——湛耀)

    Eclipse创建Maven web项目: 到此,并没有创建好,接下来一步步解决问题: 问题:无法创建src/main/java目录 解决: 右键项目选择[properties] 点击[OK] 问题: ...

随机推荐

  1. linux-2.6.38 input子系统(用输入子系统实现按键操作)

    一.设备驱动程序 在上一篇随笔中已经分析,linux输入子系统分为设备驱动层.核心层和事件层.要利用linux内核中自带的输入子系统实现一个某个设备的操作,我们一般只需要完成驱动层的程序即可,核心层和 ...

  2. 3. Dictionaries and Sets

    1. Generic Mapping Types The collections.abc module provides the Mapping and MutableMapping ABCs to ...

  3. GoTests工具自动化test使用

    安装 $go get -u github.com/cweill/gotests/... 复制代码 具体使用示例 用法 $gotests [options] PATH ... 复制代码 options说 ...

  4. 2sum问题求解

    什么是2sum问题呢?举个例子就明白了:对于数列:[0.1.2.3.4.5.6.7.8.9],求两数相加=9的所有两数的组合,所以结果为:[0.9],[1.8],[2.7],[3.6],[4.5].所 ...

  5. C#的队列(Queue,ConcurrentQueue)和堆栈(Stack,ConcurrentStack)

    一.Queue 表示对象的先进先出(FIFO)集合,非线程安全 常用方法   Dequeue 入队 Enqueue 出队 Contains 队列中是否存在某元素 Clear 清空队列 封装: /// ...

  6. maven热部署插件-jetty

    作者:小勇Oo 关于maven-jetty-plugin的说明: pom文件中: <build> <finalName>freemarker</finalName> ...

  7. H5项目 使用Cropper.js 实现图片 裁剪 操作 (APP端)

    参考地址: 1.https://www.jianshu.com/p/b252a7cbcf0b 2.https://blog.csdn.net/weixin_38023551/article/detai ...

  8. 浅谈script中的defer与async

    一直没有在script上使用过别的属性,今天看基础代码才发现这个,搜索.记录下,以便记忆. 大家都知道,js加载会造成阻塞,阻碍页面的继续渲染. defer: js与页面同步加载,不阻碍页面渲染,会在 ...

  9. 4、docker镜像:花卷结构、commit镜像

    1.是什么 docker images 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件. ...

  10. CodeForces 834C - The Meaningless Game | Codeforces Round #426 (Div. 2)

    /* CodeForces 834C - The Meaningless Game [ 分析,数学 ] | Codeforces Round #426 (Div. 2) 题意: 一对数字 a,b 能不 ...