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根目录的完整结构

 

targetmaven输出目录,这个目录汲及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项目结构及其运行机制的主要内容,如果未能解决你的问题,请参考以下文章

ActiveMQ的安全机制使用及其源代码分析 [转]

如何使用maven把项目及其依赖打包为可运行jar包

前后端分离开发,基于SpringMVC符合Restful API风格Maven项目实战(附完整Demo)!

Java/SpringMVC/Maven项目的缓存破坏机制

MavenMaven之使用maven快照版本机制进行多项目依赖开发

springcloud熔断机制