maven项目(SSM框架)的项目结构(发布前发布后Myeclipse和实际文件夹的对比)
开始学ssm框架,看到大部分主流的项目好像都是用maven来管理,所以需要学习一下maven项目
首先借个网上的图:
这是maven项目基本的结构,那在myeclipse中是怎么样的,这里以一个我在学习的一个别人的项目来说,来源b站的ssm实战项目和实际上文件的目录
Deployment Desciptors像是在web.xml的设置,web.xml在src/main/webapp/WEB-INF/下,web.xml配置servlet和filter的那些东西
Js Resources不用说,就是js文件
接下来三个文件不用说,需要注意的这三个文件有一个蓝色田字格,说明是资源文件,普通文件右键build path设置Used as source folder,你会发现和普通文件new出来的东西是不一样的
Maven dependence就是Maven项目下载的依赖包,打开可以看到其实是下载在maven的本地的仓库,至于maven可以自己下载也可以使用myeclipse自带的,通过更改setting.xml来改变的仓库的位置,调用时候可以直接调用,如class="org.springframework.web.servlet.view.InternalResourceViewResolver">,表明仓库下的哪一个类
Referenced Libraries: 指你项目中所使用的第三方库文件集合.如果你把项目所需要的其他JAR包直接加在 项目->属性->Java Build Path -> Libraries 中的时候,MyEclipse 会自动将这些JAR包归类到一个集合中, 并取名为 Referenced Libraries , 显示在项目中,那实际在哪呢
可以看到其实是放在了webapp下的WEB-INF下的lib文件下,所以导入的方法也可以直接放到这个文件下,不过还是建议上面的方法
JRE System Libraries:这个更不用说,运行myeclipse前要配置好jar包,所以这个是运行基本的包,每一个项目都会自带的
SRC:这个主要用来看webapp,main下有三个文件java,resource,还有webapp,这里主要放jsp这些表现层的东西
target:这个是maven项目中,一运行pom.xml就有的,详细可百度,好像项目编译后也会放在里面,现在初学不会怎么动,不是重点
pom.xml:maven项目必有,决定了这个maven项目所需要导入的外部文件
总结:在myeclipse中和在文件夹中看目录结构差不多,把src文件下的main/java,main/resources,main/webapp,test下的分出来在me看得更加直观一点
发布到tomcat后:
在myeclipse中,看下图
可以看到其实只有webapp和web-resources,那原本src下的其余文件呢,main/java,main/resources在哪呢,其实是myeclipse省略了些东西,再看一下真实目录下,点开其实跟webapp完全相同,不同在于WEB-INF
myeclipse只有lib即我们导入的外部jar包,实际
点开classes可以看到原本main/java下编译后的class文件,还有main/resources的资源文件
点开lib,不仅有上述那几个jar包,还有那些maven dependence里的jar包