Maven
一、Maven的两个作用
1. 依赖管理
maven 工程中不直接将 jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需 jar 包的坐标,这样就很好的避免了将 jar 包直接引入进来导致工程文件很大的问题,在需要用到 jar 包的时候,只要查找 pom.xml 文件,再通过 pom.xml 文件中的坐标,到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从而找到这些 jar 包,再把这些 jar 包拿去运行。
2. 项目的一键构建
把项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理,每个阶段都可以使用一个maven 命令来完成。
二、Maven工程的目录结构
-
target —— 项目输出位置,编译后的 class 文件会输出到此目录
-
pom.xml——maven 项目核心配置文件
作为一个 maven 工程,它的 src 目录和 pom.xml 是必备的。进入 src 目录后,我们发现它里面的目录结构如下:
-
src/main/java —— 存放项目的 .java 文件
-
src/main/resources —— 存放项目配置文件,如 application.yml 文件
-
src/main/webapp —— 存放项目的前端页面素材,如 html、css、javascript 文件
三、Maven的常用命令
1. compile
compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target 目录下。
2. test
test 是 maven 工程的测试命令,会执行 src/test/java 下的单元测试类。
3. clean
clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。
4. package
package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war 包。
5. install
install 是 maven 工程的安装命令,执行 install 将 maven 工程打成 jar 包或 war 包发布到本地仓库。
【注】当后面的命令执行时,前面的操作过程也都会自动执行。
四、war包的目录结构
war包标准目录结构:
1、index.html等页面素材[可选]
2、META-INF[Maven自动生成目录]
3、WEB-INF[必含]
①classes目录:存放Java类文件
②lib目录:所需要的jar包
③web.xml:war的描述文件
4、subdirectories[可选目录]
存放一些网页和照片,如:html,jsp,js,jpg等等。
【注】Maven工程打的war包会存放在target目录下,war包在放到Tomcat的webapps目录下后会自动解压缩。
五、Maven工程部署到Linux服务器上的步骤
-
执行 maven install 命令将 Maven 工程打成一个 war 包;
-
将在 target 目录下生成的 war 包放到 Tomcat 的 webapps 目录下;
-
若是更新代码就在 webapps 目录下找到对应的 war 包,可以替换相应的前台代码,后台代码在 WEB-INF 目录下的 classes 文件夹下,替换相应的 class 文件。
然后找到该进程对应的 Tomcat 的端口,kill -9 杀掉它们,即相当于重启该进程。