maven项目中常用知识点

1. 我们先来解释一下 jar包和 war包的区别:

jar包和 war包都可以看成是压缩文件,用解压软件都可以打开。

我们为了项目的部署和发布,会将项目打包,打包通俗来讲就是将代码和依赖的东西进行压缩,变成后缀为 .jar或者 .war的文件,也就是我们经常说的 jar包和war 包。

这个压缩包可以被编译器直接使用,把 war包放在 tomcat 目录的 webapp下,tomcat 在启动的时候就会直接解压这个 war 包,编译里面的代码。

jar 包是 java打的包, war包是 javaweb 打的包, jar包只有 编译后的class文件和 一些部署文件,war包包含的东西更多,一个 war包是一个完整的web项目,包括生成的class文件,依赖的包,配置文件,网站页面, html,jsp等等。

在项目完成之后,要部署给外界使用的时候,打成war包的形式发布。

jar包只是将某一个类或者资源进行封装,供其他部分调用而已。


2. maven 简单部署:

我们可以通过maven来构建复杂的多模块的项目。

我们需要一个父项目(maven parent)和多个子模块(maven moduel).

多个子模块之间互相独立,每一个子模块都可以独立运行,独立测试,各个子模块之间可以通过pom.xml配置依赖关系,互相依赖. 每一个子模块最终都会打成一个war包的形式。

以下是一个简单的处理过程:

(1) 创建一个 maven project ,父项目,Quick start, 作为所有子模块的基础,所有子模块的创建都是右键父工程,然后创建的。

(2) 创建一个webapp模块,作为所有moduel最终合并的那个子模块

(3) 创建其他的maven moduel, 关于web应用有两种做法:第一将后台和前端放在一个moduel里面,第二将后台和前端放在不同的两个moduel里面。

(4) 每一个maven moduel可以独立测试,独立运行,可以打成独立的war包,

(5) 所有的maven moduel可以合并,打成一个完整的war包,在(2)中创建的子模块中去做这件事情。(2)中将其他独立的maven moduel进行合并,打好一个完整的war包之后,

可以发布给客户使用。合并的方法是在pom.xml中进行配置,注意要加入其他子模块的依赖。

(6) 到此为止,我们就完成了简单的maven部署配置,测试的时候,右键父项目,选择run as maven install, 就可以看到运行结果,如果能成功,我们可以看到在每一个子模块中都会看到一个打包好的war包。


注意:每个子模块之间是可以互相调用的,调用方法依然是在 pom.xml中配置依赖关系。


3. Jetty和tomcat:

(1) Jetty 是一个开源的servlet 容器,基于 java的web 容器,是使用java语言编写的,它的api以一组JAR包的形式发布。

(2) 相比于Tomcat, Jetty 更加轻量级,可插拔性和可扩展性都强于 Tomcat, 可以对 Jetty进行二次开发。

(3) Jetty 更满足公有云的分布式环境的需求,而 Tomcat更符合企业级环境,当需要支持大规模企业级应用的时候,Jetty需要大量扩展,这个时候用Tomcat最优。


注意: 我们有时候会将 Jetty 和 maven结合起来使用,使用的时候只需要在 maven中配置 Jetty就行,因为 Jetty可以作为嵌入式应用部署在程序中。




猜你喜欢

转载自blog.csdn.net/hqm12345qw/article/details/80216097