首页 技术 正文
技术 2022年11月16日
0 收藏 564 点赞 4,982 浏览 2039 个字

1、maven的由来

maven是一款服务于java平台的自动化构建工具

构建定义:把动态的Web工程经过编译得到的编译结果部署到服务器上的整个过程。

    编译:java源文件[.java]->编译->Classes字节码文件。

    部署:最终在sevlet容器中部署的不是动态web工程,而是编译后的文件。

2、使用maven的好处

(1)项目过于庞大,使用package来划分会显得十分臃肿,可以将一个项目拆分成多个工程,最后用maven将这些模块进行整合,代码结构清晰明了。

(2)可以为每个模块单独进行jar包的导入,可以解决项目中jar包冲突的问题。

(3)添加jar包不用去下载,只需要将所需要的jar包配置到POM.XML中,maven会自动将所依赖的jar包导入到本地库中。

3、常用的maven命令

(1)mvn clean:清理

(2)mvn compile:编译主程序

(3)mvn test-compile:编译测试程序

(4) mvn test:执行测试

(5)mvn package:打包

(6) mvn install:安装

4、常用的maven的标签

(1)LocalRepository

作用:该值表示构建系统本地仓库的路径。

其默认值:~/.m2/repository。

<localRepository>${user.home}/.m2/repository</localRepository>

(2)InteractiveMode

作用:表示maven是否需要和用户交互以获得输入。
如果maven需要和用户交互以获得输入,则设置成true,反之则应为false。默认为true。

<interactiveMode>true</interactiveMode>

(3)PluginGroups

作用:当插件的组织id(groupId)没有显式提供时,供搜寻插件组织Id(groupId) 的列表。

<pluginGroups>

<!–plugin的组织Id(groupId) –>

<pluginGroup>org.codehaus.mojo</pluginGroup>

</pluginGroups>

(4)Mirrors

作用:为仓库列表配置的下载镜像列表

(5)Proxies

作用:用来配置不同的代理。

(6)Profiles

作用:根据环境参数来调整构建配置的列表。

(7)Activation

作用:自动触发profile的条件逻辑。
如pom.xml中的profile一样,profile的作用在于它能够在某些特定的环境中自动使用某些特定的值;这些环境通过activation元素指定。

(8)properties

作用:对应profile的扩展属性列表。
maven属性和ant中的属性一样,可以用来存放一些值。这些值可以在pom.xml中的任何地方使用标记${X}来使用,这里X是指属性的名称。属性有五种不同的形式,并且都能在settings.xml文件中访问。

(9)Repositories

作用:远程仓库列表,它是maven用来填充构建系统本地仓库所使用的一组远程仓库。

(10)pluginRepositories

作用:发现插件的远程仓库列表。
和repository类似,只是repository是管理jar包依赖的仓库,pluginRepositories则是管理插件的仓库。
maven插件是一种特殊类型的构件。由于这个原因,插件仓库独立于其它仓库。pluginRepositories元素的结构和repositories元素的结构类似。每个pluginRepository元素指定一个Maven可以用来寻找新插件的远程地址。

(11)modelVersion

作用:规定Maven模块版本,目前我们一般都取值4.0.0

(12)groupId

整个系统的名称。

(13)artifactId

子模块名称。

(14)Packaging

打包类型,可取值:jar,war等等,这个配置用于package的phase,具体可以参见 package运行的时候启动的plugin,后面有机会我们会讲述如何配置打包的插件。

(15)Dependencies

依赖关系。

(16)scope

作用:规定依赖的范围

  1)compile,默认值,适用于所有阶段(开发、测试、部署、运行),本jar会一直存在所有阶段。

  2)provided,只在开发、测试阶段使用,目的是不让Servlet容器和你本地仓库的jar包冲突 。如servlet.jar。

  3)runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。

  4)test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。

    5)system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

5、maven的依赖原则

(1)路径最短最优先,局部引用高于全局引用。

(2)路径相同,最先声明最先引用。

(3)统一管理依赖的版本。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,104
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,580
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,428
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,835
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,918