maven必知必会

目录

  • 了解maven
    • maven的作用
  • maven仓库
    • 本地配置
    • 添加远程仓库
    • 依赖搜索顺序
    • 定制包到本地仓库
  • pom文件
    • 依赖管理原则
  • 构建声明周期
  • 插件

了解maven

maven的作用

  1. maven采取约定大于配置的原则,规范了一套标准的javaweb项目结构
  2. maven提供了完备的包管理功能,不用到处找jar包了
  3. maven提供了一套完整的项目构建声明周期,让开发人员一键式一站式测试打包发布等.

maven仓库

maven仓库分为

  • 本地(local)

  • 中央(central)

  • 远程(remote) :定制的仓库,存放一些没在中央仓库中的包,比如公司自己的框架包

本地配置

本地maven的配置非常灵活,可以创建多个用于不同开发环境的配置文件.配置文件中指定不同的本地仓库地址和中央仓库地址 maven仓库配置

添加远程仓库

<project ...><repositories><repository><id>java.net</id><url>https://maven.java.net/content/repositories/public/</url></repository></repositories>
</project>

依赖搜索顺序

  1. 搜索本地仓库
  2. 搜索中央仓库
  3. 搜索远程仓库
  4. 三种仓库中都没有所需包,抛出错误

定制包到本地仓库

一些中央仓库和远程仓库没有的包,想使用的话要手动导入本地仓库,比如想使用kaptcha包(用于生成验证码图片的工具)

  1. 下载 “kaptcha-2.3”,得到jar包

  2. 执行maven命令,加入本地仓库

    mvn install:install-file -Dfile=/Users/hans/Downloads/kaptcha-2.3.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3 
    -Dpackaging=jar
  3. 加入成功,声明坐标

<dependency><groupId>com.google.code</groupId><artifactId>kaptcha</artifactId><version>2.3</version>
</dependency>

pom文件

<project xmlns = "http://maven.apache.org/POM/4.0.0"xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><!-- 模型版本 不重要 --><modelVersion>4.0.0</modelVersion><!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group --><groupId>com.companyname.project-group</groupId><!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 --><artifactId>project</artifactId><!-- 版本号 --><version>1.0</version><!-- 打包方式 jar/war/pom--><packaging>war</packaging>
</project>

POM标签大全

依赖管理原则

  1. 如果两个依赖版本在依赖树里的深度是一样的时候,第一个被声明的依赖将会被使用。
  2. 依赖具有传递性
  3. 子类声明的依赖版本覆盖父类声明的依赖版本

构建声明周期

插件

转载于:https://www.cnblogs.com/hans-kl/p/11269922.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/263040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lecture 4 : More Objective-C

Creating Objects 这件事困扰我一点时间了&#xff0c;ObjC没有一个Constructor的概念 而在Create Objects这件事上既有用过自己写的-init&#xff0c;还return instancetype&#xff0c;大概这个&#xff0c;也有用过一些Class Method&#xff0c;就是明确知道是id类型的&…

对象实体 参考标准

1usingSystem;2usingSystem.Data;34namespaceFramework.Components5{ 6 /**//// <summary> 7 /// 公告通知实体 8 /// </summary> 9 public class NoticeInfo 10 { 11 基础信息-------------------------------------------------------…

SerialPort comstat is being used without defining

Run-Time Check Failure #3 - The variable comstat is being used without being initialized. 参考&#xff1a;http://blog.sina.com.cn/s/blog_5d2412000100ojx3.html 方案1: 改变项目配置属性 一种解决方案是改变基本运行时检查&#xff08;changing the runtime checks i…

Leetcode:27. 移除元素

力扣题目链接 解题思路 首先很容易想到暴力解法,用两个for循环,第一个for循环用来遍历整个数组,第二个for循环用来更新数组.但这种解法的时间复杂度为O(n^2) 因此考虑双指针思想,通过一个快指针和慢指针在一个for循环下完成两个for循环的任务,其中,快指针用来寻找新的元素,即…

【原】简单shell练习(四)

1.查看已开启端口信息 #ss -ln 2.列出谁在使用某个端口&#xff08;如&#xff1a;80&#xff09; #lsof -i:80 3.显示文件夹下文件信息 #find /home/root -type f#find -type f 4.磁盘大小信息 #df -h #du -sh * 5.查看一个文件夹下文件总个数 # ls -l |wc -l 6.查看进程是否…

JavaScriptWindow使用对象

窗口对象的属性和方法&#xff1a;格式&#xff1a;[window.]属性[window.]方法&#xff08;参数&#xff09;opener.属性opener.方法&#xff08;参数&#xff09;self.属性self.方法&#xff08;参数&#xff09;parent.属性parent.方法&#xff08;参数&#xff09;top.属性…

无法在web服务器上启动调试 您不具备调试此应用程序的权限

一般用下面的方法可以解决: 1&#xff1a;确认在“配置属性”中的“启用ASP.NET调试"为"True" 2&#xff1a;确认你的"web.config"中的"debugtrue" 3&#xff1a;若你安装过Win2000 SP4后&#xff0c;则要在命令行执行"regsvr32 i asp…

Go学习笔记—Go并发基础

Go并发基础 并行&#xff1a;程序在任意时刻内都是同时运行的 并发&#xff1a;程序在单位时间内都是同时运行的 ​扇入&#xff1a;多条通道聚合到一条通道中&#xff08;select聚合&#xff0c;加密解密服务&#xff09; ​扇出&#xff1a;一条通道发散到多条通道中&#x…

史蒂夫乔布斯6月斯坦佛大学演讲: 必须找到你所钟爱的东西

博客搬家咯&#xff5e; http://joeleee.github.io/ 博客搬家咯&#xff5e; http://joeleee.github.io/ 博客搬家咯&#xff5e; http://joeleee.github.io/ 关于如何将生命中的点点滴滴串联起来&#xff0c;关于爱和损失&#xff0c;关于死亡&#xff0c;乔布斯如是说. h1 ! …

博客园贵团队可以给个解释么?

发表了一片文章&#xff0c;被博客园团队移除出首页&#xff0c;自认为没有违反规定&#xff0c;于是回复该消息&#xff0c;想询问原因&#xff0c;但是一直没得到回复&#xff0c;请问这是为什么呢&#xff0c; 为什么那么久了还是未读状态&#xff0c;为什么从来不给回复&am…

unity, 颜色随高度渐变shader

一&#xff0c;颜色随世界空间高度渐变。 Shader "Custom/heightGradual_worldSpace" { Properties { _Color ("Color", Color) (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) "white" {} _Glossiness ("S…

WinForm给ComboBox增加Value(转)

做一个图书管理系统,用到了combobox, 天呀,竟然不能像DropDownList那样直接使用键值对的方式 百度了半天,终于找到方法,发出来大家共享 用DataTable可以&#xff01;但是总不能象男&#xff0c;女这样两项也用一个DataTable吧&#xff0c; 这也太麻烦了啊&#xff01; 用Hashta…

Go学习笔记—Channel通道

Go并发通信——Channel ​ Go语言的并发模型是CSP&#xff08;Communicating Sequential Processes&#xff09;&#xff0c;提倡通过通信共享内存而不是通过共享内存而实现通信。&#xff08;DO NOT COMMUNICATE BY SHARING MEMORY; INSTEAD, SHARE MEMORY BY COMMUNICATING.…

【转载】程序员技术练级攻略

月光博客6月12日发表了《写给新手程序员的一封信》&#xff0c;翻译自《An open letter to those who want to start programming》&#xff0c;我的朋友&#xff08;他在本站的id是Mailper&#xff09;告诉我&#xff0c;他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜…

FileSystemObject (FSO)对象方法总结及应用

FileSystemObject (FSO)组件可以用来处理系统驱动器&#xff0c;文件夹&#xff0c;和文件。因为它是一个ActiveX控件&#xff0c;所以它能被js&#xff0c;vbs等文件使用&#xff0c;以实现对机器文件系统的操作。 下面将总结一下FSO中的对象和方法&#xff0c;其实FSO中大多数…

IBM如何拥抱Spark

Spark是目前相当火热的开源计算框架&#xff0c;相对于Hadoop&#xff0c;Spark优势是高性能和易用性。Spark的高性能源于其采用内存储存数据&#xff0c;应用可以以内存的速度进行运算&#xff1b;Spark的易用性在于通用的API&#xff0c;用户可以编写复杂的并行计算程序&…

SQL语句导入导出大全

SQL语句导入导出大全/******* 导出到excelEXEC master..xp_cmdshell ’bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""’ /*********** 导入ExcelSELECT * FROM OpenDataSource( ’Microsoft.Jet.OLEDB…

arcgis js 4.x 地图中加入图片

arcgis js 4.x版本&#xff0c;如何加入图片问题&#xff1a;如何将自定义图片放入到arcgis的图层当中&#xff1f;本人在网上查找的方法中&#xff0c;发现大部分方法只适用于3.x版本&#xff0c;只有一种引入自定义BaseDynamicLayer的方法可用&#xff0c;然而按照这种方式&a…

对你的的应用程序进行Debug

对你的的应用程序进行Debug 介绍如何使用Microsoft Visual Studio Code Name "Orcas" Beta 1对基于Silverlight的应用程序进行debugging .在Silverlight中debugging所使用的工具和技巧和其它的 Visual Studio projects是类似的. 想查看更多的关于debugging信息的, 查…

如果reporting server出现“无法安装打印控件”的处理方法。

1.打开"控制面板",选择"添加或删除程序"2.将显示更新更新打勾.3.查找文件"KB956391安装更新"4.卸载此文件即可打印了 转载于:https://www.cnblogs.com/miaomiaoga/archive/2008/12/02/1346319.html