Maven的Dependency怎么找,第1张

于是很多人在刚用Maven的时候,就会在加Dependency时栽跟头,明明我手头上就有需要的JAR嘛,它偏不让我用,什么道理,跟着就是生闷气,少点耐性的,就会说Maven怎么怎么不爽,其实,如果你理解了Maven的一些机制,一些配置及管理的流程,就会觉得它其实很爽。

我暂且不谈Maven的长篇概念(其实我也还很多很多不懂),我先给大家介绍一个简单的查找方法,让你很快地找到所需的Dependency,并配置到你的pomxml里面去。

最快捷方法:

GOOGLE搜索:maven 你需的jar包名称 repository

比如我要做EJB,我要找jboss-j2eejar的Dependency

就在GOOGLE里输入

maven jboss-j2ee repository

在结果的第一条,进去你就可以在页面里找到下面这段

<dependency>

<groupId>jboss</groupId>

<artifactId>jboss-j2ee</artifactId>

<version>402</version>

</dependency>

你把上面这段代码贴到你的Maven项目的pom适当的位置去,然后运行maven,Maven就会自动下载所需的jar及相关的pom信息,你不用管它,Maven会帮你下载,并放到适当的位置。

我再举几个查找实例,让大家熟悉一下怎么搜索

下面我要找 strutsjar

在GOOGLE里输入

maven struts repository

就很快可以找到下面这段代码

<dependency>

<groupId>struts</groupId>

<artifactId>struts</artifactId>

<version>129</version>

</dependency>

我还要找hibernate

在GOOGLE输入

maven hibernate repository

在结果的第一条记录出现了很多个不同的hibernate链接(因为有很项目用了hibernate嘛)我们就选用orghibernate的,看起来专业点嘛,呵呵

<dependency>

<groupId>orghibernate</groupId>

<artifactId>hibernate</artifactId>

<version>326ga</version>

</dependency>

好了,SSH可不能少了中间那个S,Spring嘛

在GOOGLE里输入

maven spring repository

在第一个结果进去,我们这次选择orgspringframework的,

<dependency>

<groupId>orgspringframework</groupId>

<artifactId>spring</artifactId>

<version>255</version>

</dependency>

其它的我就不一一举例了,大家自己试试,其实这个方法可以解决大多数常用包的Dependency查找,不用专门记那些repository下载站的网址嘛,不过始终这是非正规做法,其它要想更好地找到想要的Dependency,还是得了解maven repository是啥玩意,它的local repository库概念,以及怎样建立自己自己repository服务器(这个我还不太熟,这里就不讲了,大家自己去其它地方找相关资料,免得被我误导了)

Maven的repository,说白了就是dependency的仓库,它按照一定的规则将dependency存放起来,以作缓存,如果本机的repository找不到某个dependency,它就会自动去找到网上其它相关联的repository,找到的话将其下载至本地,那么下次它就不再去其它地方下载了,直接从本地获取。

本地的repository在哪可找到?

默认repository地址:当前用户的私人目录 + m2

如果你设置了Maven目录下的conf/settingxml的local repository属性,则不再是默认的repository地址,而使用你指定的地址。

找到下面这段,将它复制一份,放到注释外面,改成你自己的repository路径即可

<localRepository>c:\mvn repository\</localRepository>

第一阶段内容 Java设计和编程基础(OOD和OOP)

主要内容

涉及技术知识点

完成目标

Java语言基础

1Java基本概念 2Java环境搭建 3搭建Eclipse开发环境 4基本类型 5变量,运算符,表达式 6分支语句,循环语句 7数组,数组应用,行业规范。 8双色球抽奖程序,实现权限管理命令

熟悉jvm/jre/jdk等基本概念、掌握java和eclipse工具的安装、掌握java基本知识的应用

Java面向对象

1类、对象、属性、方法、构造器 2封装、继承、多态 3重写、重载 4访问权限控制符 5this和super、static、final 6抽象类和接口,内部类 7单例设计模式 8模板设计

理解面向对象的思想和概念、学会面向对象分析方法、掌握类,对象,继承,多态的使用

JavaSE核心类库

1Java核心类 2Java字符串、日期处理 3包装类、集合、数据结构 4异常和异常处理 5Java IO、NIO、多线程编程 6线程同步机制、并发包 7JAVA网络编程 8Java泛型 9Java反射机制

掌握java核心类库的应用、掌握异常处理,io流对文件读写、熟悉java泛型和反射技术的应用

Java分析与设计

1设计原则 2设计模式 3常见算法 4Java8新特性 5Maven使用 6SVN版本管理

掌握面向对象分析和设计方法、熟悉常用设计模式、掌握maven和svn工具的使用

第二阶段内容 数据库技术和Web前端技术

主要内容

涉及技术知识点

完成目标

数据库开发

1Oracle安装和管理 2SQL语句 3SQL语句原理 4SQL语句优化 5表、表设计原则 6视图、序列、索引 7Oracle数据字典 8Oracle 数据库PL/SQL开发 9存储过程、触发器、游标等 10数据库设计原则 11SQL优化技巧和原则 12MySQL数据库安装 13MySQL数据库维护 14MySQL集群和读写分离

熟悉数据库的安装和使用、掌握数据库设计原则和方法、学会存储过程和触发器的应用

Web前端技术

1XML语法、DTD和Schema 2XML解析,DOM/SAX/DOM4J 3XPATH技术应用 4HTML5(H5)基本文档结构 5标题、标记、链接、列表、表格标记 6表单标记 7CSS基础语法 8CSS文本、列表、表格样式 9CSS盒子模型 10CSS浮动布局、定位 11JavaScript语言基础 12JavaScript闭包和自执行 13JavaScript DOM编程 14JavaScript事件模型 15Window对象模型 16HTML5画布、Web存储 17地理定位、音频/视频、拖放 18WebSocket技术等 19CSS3边框、背景、文本效果 20CSS3字体、动画等

掌握使用html,css进行前端界面的设计、掌握对javascript语言的使用、掌握websocket技术的使用

JDBC技术

1JDBC 核心API 2CRUP操作 3Statement应用 4PreparedStatement应用 5预防SQL注入攻击 6事务安全控制 7数据库高并发控制 8批处理技术 9DAO封装模式 10dbcp、c3p0等连接池应用

掌握jdbc开发api、掌握java对数据库的访问方法、掌握使用安全的数据库访问方法、学会dao模式的封装

jQuery技术

1基本语法 2选择器 3元素选择 4属性操作 5文档操作 6CSS操作 7动画效果 8jQuery 插件

熟悉jquery基本语法、选择器和各种处理函数、掌握对样式的增删改处理和样式处理、掌握如何自定义动画

easyUI/Bootstrap等技术

1Menu菜单 2Layout布局、Panel面板 3Tabs 标签页 45Tooltip提示框、Searchbox搜索框 6Pagination 分页、Draggable可拖动 78消息框、对话框 9日历、日期时间、Slider滑块 10Treegrid树形网格 11Linkbutton 链接按钮 12Bootstrap CSS 13Bootstrap布局组件、Bootstrap插件 14Bootstrap编辑器 15highcharts图表组件 16Ajax作用和原理 17XMLHttpRequest对象 18Ajax设计模式 19JSON技术及Ajax应用

掌握bootstrap布局搭建和应用、熟悉easyui的作用和使用方法、掌握easyui的常用组件的使用

第三阶段内容 Java Web技术

主要内容

涉及技术知识点

完成目标

JSP & Servlet技术

1Tomcat配置和部署 2Servlet生命周期 3Servlet编写规范和配置 4中文接收乱码处理 5Servlet过滤器和监听器 6Servlet+DAO工厂模式应用 7JSP 基本语法 8JSP标记应用 9JSP内置对象request、session、application、exception等 10JSTL和 EL表达式 11JSP新特性 12MVC设计模式

掌握tomcat环境的安装和使用、熟悉servlet开发规范和相关概念、掌握session和cookie 状态管理技术。

Spring框架

1Spring IOC概念 2ApplicationContext\Factory 3IOC对象创建和生命周期 4IOC注入技巧 5对象高级装配 6组件扫描特性 7Spring JDBC支持 8Spring 事务及安全管理 9Spring MVC框架 10Spring国际化 1112SpringAOP原理、AspectJ 13Spring Security 14Spring整合Shiro

熟悉spring模块结构和作用、掌握如何对组件对象进行参数注入、掌握spring 声明式事务处理、掌握spring 安全和 shiro权限控制

SpringBoot/SpringCloud框架

1SpringBoot Servlet 2SpringBoot过滤器 3SpringBoot监听器 4SpringBoot拦截器 5SpringBoot启动加载 6SpringBoot数据库连接 7SpringBoot多数据源 8SpringBoot动态数据源 9SpringBoot事务控制 10SpringBoot Shiro 权限管理 11SpringBoot JDBC访问数据库 12SpringBoot MyBatis访问数据库 13SpringCloud分布式配置管理 14SpringCloud服务注册

了解SpringBoot和SpringCloud框架的结构和作用、掌握SpringBoot如何进行权限管理、熟悉SpringCloud分布式配置的应用、熟悉SpringCloud如何发布服务

MyBatis框架

1MyBatis体系结构 2SqlSession的使用 3MyBatis映射基础 4DQL 映射,DML映射 5resultType/resultMap结果映射 6Mapper映射器 7MyBatis分页原理和优化 8高级动态SQL映射 9多表关联映射 10Spring和MyBatis整合

掌握mybatis开发环境的搭建、了解mybatis框架体系结构和原理、掌握spring和mybatis的整合应用

SSH框架

1Struts2结构和控制流程 2Struts2 Action应用 3ActionContext和ServletActionContext 4Aware接口注入 5Interceptor拦截器原理 6Interceptor自定义应用 7内置Result原理 8常用Result组件原理和使用 9dispatcher、redirect、chain、redirectAction、stream、json等 10ValueStack原理和OGNL应用 11Struts2 标记库、Struts2 扩展 12Struts2和Spring整合应用 13Hibernate Session API 14Hibernate实体映射技术 15Hibernate 关联映射技巧 16HQL查询、Criteria查询、Native SQL查询 17延迟加载、持久化、缓存技术 18SSH整合应用

熟悉struts2结构原理和处理流程、了解valuestack组件的结构和原理、了解ognl技术在valuestack中的应用、熟悉使用ssh整合技术开发

NoSQL技术

1Redis原理 2Redis命令 3Java Redis API 4Redis 字符串操作命令 5Redis 哈希操作命令 6Redis列表操作命令 7Redis集合操作命令 8Redis 有序集合操作命令 9Redis事务处理、备份和恢复 10Redis消息发布系统 11Redis分布式环境 12MongoDb原理 13MongoDb命令 14Java MongoDb API 15MongoDb排序、索引 16MongoDb备份恢复

了解nosql概念熟悉主流技术和使用环境的区别、熟练掌握项目中如何使用redis做缓存、了解mongodb特点和使用环境、了解对mongodb的管理和维护

第四阶段内容 企业项目实战

主要内容

涉及技术知识点

完成目标

开发平台和运行环境

1Linux/Window7 2Eclipse 3Nginx 4Tomcat 5JDK 6Orcale/Mysql 7MEVEN

熟悉Linux和window操作系统应用、熟悉eclipase安装和使用、掌握jdk的安装和使用、掌握数据库的安装管理和使用

主流Java技术

1Srping 2MyBatis 3Structs2 4Hibernate 5NoSql 6HTML5 7CSS3 8Bootstrap 9Ajax 10多功能组件 11多种前段组件

掌握ssm框架整合应用、掌握缓存应用、掌握制作前段界面、掌握使用其他组件实现文件上传日志处理连接池等等

常用扩展技术

1WebService 2Axis2/CXF创建、发布 3CXF与Spring集成 4ActiveMQ消息总线 5activiti工作流 6jfreechart图表 7JasperReport报表技术 8lucene引擎 9dubbo分布式架构 10第三方支付平台 11第三方短信平台

掌握webservice服务调用、了解第三支付平台、短信平台等掌握java对第三支付平台、短信平台调用等掌握对dubbo架构平台的应用

maven会根据模块的版本号(pom文件中的version)中是否带有-SNAPSHOT来判断是快照版本还是正式版本。

deploy发布

传统的web项目一般会有一个api模块,用于发布对外的RPC接口,如Dubbo。这个时候一般通过发布jar包,提供maven坐标的方式,让别人引入你的依赖。这个时候可以直接通过maven deploy命令直接发布快照版本到私服。

像IDEA这种集成环境,可以通过简单的点击直接发布。

同时需要注意,maven基于 POM文件中的 version来确定你将要发布的 SNAPSHOT还是 release。所以不能瞎命名,容易把不稳定的 jar包发布到 release仓库。

Release命令发布

比较复杂的是通过 mvn release:prepare和 mvn release:perform来发布,这种发布会自动升级版本,不用手动维护POM文件中的version版本。

流程:

发版之前需要保证本地文件提交,否则会导致发版失败 =>发版前要commit

发版之前需要保证本地成功执行 mvn checkstyle:checkstyle,否则会导致发版失败(可选)

发版之前需要保证mvn仓库无重复版本,git上无重复的Tag,否则会导致发版失败

要清楚本地tag和远程tag

发布之前需要保证本地成功执行mvn clean install -Dmaventestskip=true,否则会导致发版失败,而且有效性只有一次,修改代码后需要重新执行该命令。

发版命令:

mvn release:prepare -Darguments="-DskipTests" 预准备

mvn release:perform -Darguments="-DskipTests" 发布

mvn release:rollback -Darguments="-DskipTests" 回滚命令

关于上面三条命令的更详细解释:

release:prepare这条命令主要是做打包前的准备:

输入对应的release需要打包的版本等信息,如果不输入有默认的内容

将需要记录和准备的内容缓存到pomxml目录下的releaseproperties文件中

在本地和远程库的GIT中打上对应版本的tag

在准备过程中还会run 单元测试等phase,如果没有异常的话可以继续最后一步。如果git还没有commit或单元测试失败会导致prepare失败,这时候你就需要到下面一个命令了。

release:rollback

如果在准备阶段发生错误,或者需要修改某些地方的话。就需要到这个命令了,这个命令执行以后会做以下这些事

删除线上git库tag,但是本地库tag没有被删除,需要手动使用git tag -d XXX进行删除。如果不将本地库中的tag删除将会导致prepare失败。

删除之前缓存在pomxml统一目录下的配置

release:perform

如果确认无误了以后,就可以执行perform命令了。这个命令干了以下这些事:

验证代码合法性

将你之前的10-SNAPSHOT改为11-SNAPSHOT

将10版本deploy至scm配置的nexus release库中

jar打包上传至nexus库

恭喜,你已经把你的10-SNAPSHOT成功的打包成10的release版本了。同时你会发现你的pomxml文件会自动的变成11-SNAPSHOT版本。虽然这一系列操作都可以通过手动完成。但是有这个工具的存在,免去了很多步骤。

QA

实际发包过程中,会遇到一些报错,这个时候通过执行 rollback外加删除远程和本地的 tag基本可以解决问题。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Maven的Dependency怎么找

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情