Maven 的普通工程和Maven的web工程的区别&Jar包和War包的区别

今天在在看李艳鹏老师的分布式微服务架构的时候看见了war结构,发现我对maven貌似一无所知。所以打算对maven只是总结一下。

最近一直用的是前后端分离的springboot微服务,对maven搭建传统web有些迷茫。

maven普通项目和web项目的不同

如果创建一个maven工程在create a simple project 勾选了就会创建一个最简单的maven工程。如果不选的话点击next在接下来的目录中找到maven-archetype-webapp那么创建的就是maven工程就是maven版的web工程。

maven web工程的目录结构

在我们的src/main目录下面在新建一个sql目录,用来放置我们创建数据库和表的sql语句文件。

再在我们的webapp目录下面新建一个resources文件,里面用来放置一些与前端页面有关的资源文件。

在webapp/resources文件目录下分别新建一个js,css,img文件夹,分别用来在其中放置js,css,img文件。

在WEB-INF目录下面新建一个jsp文件夹,用来放置jsp文件。

创建好的目录如下图:

Maven 的普通工程和Maven的web工程的区别&Jar包和War包的区别_第1张图片

其中

1.src/main/java目录下是用来放置java源代码的。

2.src/main/resources目录下是用来放置一个资源文件,如spring的配置文件,mybatis的配置文件,映射文件等等。

3.src/main/test是用来放对java的测试文件,如用@Test注解声明的测试类。

4.src/main/sql用来放创建数据库和表的sql语句文件。

5.webapp/resources/css,img,js分别用来放置与前端页面相关的css,img,js文件。

6.最下面的pom.xml用来配置项目需要用到的jar包和对应的版本。

Jar包和War包

JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。

如果一个Web应用程序的目录和文件非常多,那么将这个Web应用程序部署到另一台机器上,就不是很方便了,我们可以将Web应用程序打包成Web 归档(WAR)文件,这个过程和把Java类文件打包成JAR文件的过程类似。利用WAR文件,可以把Servlet类文件和相关的资源集中在一起进行发布。在这个过程中,Web应用程序就不是按照目录层次结构来进行部署了,而是把WAR文件作为部署单元来使用。

maven打jar包和打war包有什么去呗,打包的命令是一样的在pom文件里配的是jar包
那打的就是jar包,配的是war包那就是war包,maven打包使用的是同一个命令。

 

 

你可能感兴趣的:(java基础的内容)