刚开始接触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. 【CF1218E】Product Tuples

    题目大意:给定一个长度为 \(N\) 的序列,求从序列中选出 \(K\) 个数的集合乘积之和是多少. 题解: 由于是选出 \(K\) 个数字组成的集合,可知对于要计算的 \(K\) 元组来说是没有标号 ...

  2. codeforces#562 Div2 C---Increasing by modulo【二分】

    题目:http://codeforces.com/contest/1169/problem/C 题意: 有n个数,每次可以选择k个,将他们+1并对m取模.问最少进行多少次操作,使得序列是非递减的. 思 ...

  3. Vue公共结果页面实现

    需求 我希望写一个公共结果页面,满足所有模块的结果展示,页面设计要素如下: 结果图标type(成功图标,失败图标) 标题title(如:提交成功) 描述descripton(如:您的工单已提交,请等待 ...

  4. vue 01 练习

    1.有 红.黄.蓝 三个按钮,以及一个200x200矩形框box,点击不同的按钮,box的颜色会被切换为指定的颜色 <!DOCTYPE html> <html lang=" ...

  5. pycharm mysql数据源配置、SQL方言配置

    会发现有提示,看着不爽,但不影响运行程序, 这里提示没有配置数据源,现在配置MYSQL数据源 然后看到右边Database选项卡,点击 然后可能会出现网络防火墙提示,选择全部允许,之后可能会在pych ...

  6. spring@Async注解实现异步方法调用

    概述 如何实现异步方法调用,很多人首先会想到使用线程或者线程池技术,springboot中有一个很简单的方法可以实现异步方法调用,那就是在方法上使用@Async注解 例子 首先在Springboot启 ...

  7. springboot的application.yml配置详解

    https://www.cnblogs.com/lqtbk/p/9843401.html https://blog.csdn.net/yelllowcong/article/details/79216 ...

  8. 分布式缓存Redis之Pipeline(管道)

    Redis的pipeline(管道)功能在命令行中没有,但redis是支持pipeline的,而且在各个语言版的client中都有相应的实现. 由于网络开销延迟,就算redis server端有很强的 ...

  9. MIME协议(四) -- MIME消息的头字段

    MIME消息的头字段 4.1  Content-Type 对于表示某个具体资源的MIME消息,它的消息头中需要指定资源的数据类型:对于MIME组合消息,它的消息头中需要指定组合关系.具体资源的数据类型 ...

  10. 2017 ZSTU寒假排位赛 #7

    题目链接:https://vjudge.net/contest/149498#overview. A题,水题,直接按照题意模拟一下即可. B题,我用的是线段树.大力用的差分标记(上次听zy说过,下次再 ...