maven:maven项目结构及其运行机制
Posted free_java
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven:maven项目结构及其运行机制相关的知识,希望对你有一定的参考价值。
在上一篇中讲了如何创建maven项目,现在回到那个项目
项目结构
src/main/java:java代码目录
src/main/resources:资源目录,比如spring.xml文件,properties参数等
java和resources目录的内容都会编译到classpath下,也就是和传统项目的src目录一样的作用,这里分成多个目录是为了开发时方便管理资源
libraries:默认只有jre和maven,没有引入tomcat库,我们的项目应该可以在所有的web服务器中运行,而不仅仅是tomcat
webapp:这就是传统项目的WebContent目录
web-resources:作用不详,可以无视
src:src根目录的完整结构
target:maven输出目录,这个目录汲及maven项目运行机制,请看下图
tomcat默认的临时目录:eclipse工作空间\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
执行项目--清理时:会把java文件编译成class输出到target目录(maven update默认会执行清理)
清理后第一次在eclipse中运行tomcat时:会把target发布到tomcat临时目录,如果target缺class,这个时候会报target错。
第二次及以后再运行tomcat:会有本地缓存,不会再从target复制。
浏览器访问:请求的是tomcat临时目录,这个时候如果报错,是指tomcat临时目录有错。
新增/修改/删除java文件:会自动编译class更新到target ( 在项目视图不显示class文件)
以上过程如果发生意外或遇到缓存问题解决不了,可以把target和tomcat临时目录连根拔除,再偿试执行maven update和项目--清理,再不行就重启
pom.xml:这是maven配置文件,放在项目根目录,eclipse以此文件来判断是否是maven项目,下一篇会详解
以上是关于maven:maven项目结构及其运行机制的主要内容,如果未能解决你的问题,请参考以下文章
前后端分离开发,基于SpringMVC符合Restful API风格Maven项目实战(附完整Demo)!