使用maven的都知道国外的maven下载一个是比较慢,一个是因为被墙,一些jar包无法下载,非常老火。
比如出现类似下面的错误:
Unknown host repo.maven.apache.org -> [Help 1] [ERROR
oschina.net搭建了国内 镜像,经测试,速度很快。下面是oschina.net的介绍。
查找依赖包地址: OSChina Maven http://maven.oschina.net/home.html
http://maven.oschina.net/help.html
使用
接下来将简单介绍如何在您的项目中使用 Maven,以及使用 OSChina 提供的 Maven 服务。
1.安装 Maven
如果需要使用到 Maven ,必须首先安装 Maven , Maven 的下载地址在 Apache Maven 中有,您也可以点击这里下载 zip ,tar.gz。
下载好 Maven 后,需要简单安装下。将下载的 zip 或者 tar.gz 包解压到需要安装到的目录。 接下简单配置下环境变量:
1、新建环境变量 M2_HOME ,输入值为 Maven 的安装目录。
2、新建环境变量 M2 ,输入值为: %M2_HOME%\bin 。
3、将 M2 环境变量加入 Path 的最后,如: ;%M2% ;。
环境变量就这么简单配置下就可以了。打开命令行窗口输入 mvn -version 。可以看到如下输出:

看到以上输出,您的 Maven 环境就已经搭建好了。
2.修改 settings.xml
在 Maven 中使用 OSChina 的 Maven 服务还需要简单配置一下 Maven,在 Maven 的安装目录下的 conf 文件下有个 settings.xml 文件,接下来我们需要对这个文件做简单的修改,修改前您可以简单备份下该文件。 打开 settings.xml 文件,按下面内容修改。或者点击 settings.xml 下载
02 |
<!-- mirror | Specifies a repository mirror site to use instead of a given |
03 |
repository. The repository that | this mirror serves has an ID that matches |
04 |
the mirrorOf element of this mirror. IDs are used | for inheritance and direct |
05 |
lookup purposes, and must be unique across the set of mirrors. | --> |
08 |
<mirrorOf>*</mirrorOf> |
09 |
<name>Nexus osc</name> |
10 |
<url>http://maven.oschina.net/content/groups/public/</url> |
补充: 如果还需要osc的thirdparty仓库或多个仓库,需要如下修改:详情
02 |
<!-- mirror | Specifies a repository mirror site to use instead of a given |
03 |
repository. The repository that | this mirror serves has an ID that matches |
04 |
the mirrorOf element of this mirror. IDs are used | for inheritance and direct |
05 |
lookup purposes, and must be unique across the set of mirrors. | --> |
08 |
<mirrorOf>central</mirrorOf> |
09 |
<name>Nexus osc</name> |
10 |
<url>http://maven.oschina.net/content/groups/public/</url> |
13 |
<id>nexus-osc-thirdparty</id> |
14 |
<mirrorOf>thirdparty</mirrorOf> |
15 |
<name>Nexus osc thirdparty</name> |
16 |
<url>http://maven.oschina.net/content/repositories/thirdparty/</url> |
这里是配置 Maven 的 mirror 地址指向OSChina 的 Maven 镜像地址。 在执行 Maven 命令的时候, Maven 还需要安装一些插件包,这些插件包的下载地址也让其指向 OSChina 的 Maven 地址。修改如下内容。
11 |
<name>local private nexus</name> |
12 |
<url>http://maven.oschina.net/content/groups/public/</url> |
14 |
<enabled>true</enabled> |
17 |
<enabled>false</enabled> |
24 |
<name>local private nexus</name> |
25 |
<url>http://maven.oschina.net/content/groups/public/</url> |
27 |
<enabled>true</enabled> |
30 |
<enabled>false</enabled> |
如果您需要修改 Maven 的默认文件保存路径,需要在 settings.xml 文件中修改如下地方。
1 |
<localRepository>F:/Maven/repo/m2/</localRepository> |
按照如上修改 settings.xml 之后,您就可以在自己的 Maven 中使用 OSChina 为您提供的 Maven 服务了。
3.使用 Maven 创建项目
您可以创建一个属于自己的 Maven 项目来简单测试一下 OSChina 的 Maven 库。创建 Maven 项目很简单,只需要简单一行命令就可以搞定。
下面是创建 Maven 项目的命令:
1 |
mvn archetype:create -DgroupId=oschina -DartifactId=simple -DpackageName=net.oschina.simple -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false |
。
其中 -DarchetypeArtifactId=maven-archetype-webapp 代表创建一个简单的 webapp 项目。至于其他参数的意思,您可以查看下 Maven 的相关文档。 在您需要创建 Maven 项目的文件夹下用命令行执行以上命令。可以看到如下输出:

如果顺利创建成功的话,你会看到如下输出:

如果创建失败,就可能需要您去 Google 一下了。创建项目的时候,Maven 会下载一些需要用到的 Maven 插件。
4.添加包依赖
因为只是简单介绍下使用 OSChina 的 Maven 库,关于 Maven 的项目编译,打包,测试,发布等具体细节就不多介绍了,您可以去查看 Maven 的相关文档。
跟ant一样,Maven 也需要通过 xml 来配置。在项目的根目录下有一个 pom.xml 文件。
01 |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
02 |
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
03 |
<modelVersion>4.0.0</modelVersion> |
04 |
<groupId>oschina</groupId> |
05 |
<artifactId>oschina.simple</artifactId> |
06 |
<packaging>war</packaging> |
07 |
<version>1.0</version> |
08 |
<name>oschina.simple Maven Webapp</name> |
09 |
<url>http://maven.apache.org</url> |
12 |
<groupId>junit</groupId> |
13 |
<artifactId>junit</artifactId> |
14 |
<version>3.8.1</version> |
19 |
<finalName>oschina.simple</finalName> |
在 pom.xml 中加入您需要添加的包,如果您需要查找依赖包有哪些版本,可以在 OSChina Maven 搜索。比如输入 jedis 的结果会如下:

在右下角的 Maven 标签下可以看到当前选中的版本的依赖 xml,copy 该依赖 xml 到 pom.xml 的 dependencies 结点下。如果需要其他依赖包,您也继续搜索。当然,有些偏门的 jar 可能没有,这主要可能是它没有提交到 Maven 的中央库中。
5.将项目安装到本地 repository
添加好包的依赖之后,您就可以开始在您的 Maven 项目下开始工作了。如果一切准备就绪,您可能需要将项目安装到本地 repository 。
执行命令: mvn clean & mvn install 就可以把项目安装到您配置的本地镜像地址 .m2/repository 下了。 执行命令可以看到如下输出:

执行完之后,如果安装成功会出现如下结果:

如果失败了,就根据失败结果 Google 一下吧! 接下来打开您配置的本地 repository 地址,可以看到您配置的各种依赖包都下载到您本地文件夹了,下次您再使用这些包的时候就不需要再次下载了,项目构建速度也会提高很多。
项目上传说明
开源中国 Maven 库的第三方库中上传的构件信息仅仅存在于本库中,我们不向 Maven 中央库推送任何有关您上传的构件。如果有需要将您的构件上传到 Maven 中央库,请前往 Maven中央库,如果您的构件在中央库中申请通过,并且在本库中存在版本,请通知 @卜祥龙 处理。鉴于上传到本 Maven 库中的构件信息直接放在对外开放的 public group 中会误导用户,此第三方库未配置到 public group ,如果您的项目中有需要用到其中的构件,请在项目中单独配置此地址:http://maven.oschina.net/content/repositories/thirdparty/ 。
感谢
以上就是关于 OSChina Maven 的简单使用说明,多谢您的使用,您的支持就是我们最大的动力,同时也感谢天翼云的服务支持。
===================================
注:
如果修改之后,eclipse 每次打开时 maven 不断的去下载 pom.xml 文件,导致eclipse上的任何操作被阻塞时,可以将上面添加的 profile 元素整个注释掉就行了。具体原因不明,请知道原因的同学指点一下。
- 国内maven镜像,快的飞起
在oschina关来关去的烦恼下,终于受不了去寻找其他公共库了. 阿里云maven镜像 <mirrors> <mirror> <id>alimaven</id ...
- 亲测可用的国内maven镜像
maven作为一个项目管理工具确实非常好用,之前oschina的中央仓库可用,现在oschina的maven服务器关了,于是自己倒腾了一个nexus,苦于自己的服务器是入门级的,下载速度实在让人着急. ...
- 国内Maven镜像仓库
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http:/ ...
- 国内maven镜像
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> & ...
- 开发常用镜像资源替换为国内开源镜像(yum,compose,maven,docker,android sdk,npm,国内开源镜像汇总)
一.国内开源镜像站点汇总 阿里云开源镜像站 (http://mirrors.aliyun.com/)网易开源镜像站 (http://mirrors.163.com/)中国科学技术大学开源镜像站 (ht ...
- Maven国内阿里镜像(Maven下载慢的解决方法)
Maven是当前流行的项目管理工具,但官方的库在国外经常连不上,连上也下载速度很慢.国内oschina的maven服务器很早之前就关了.今天发现阿里云的一个中央仓库,亲测可用. <mirror& ...
- Maven国内高速镜像
大家都知道国外Maven中央仓库下载jar 没谁了速度, 给大家分享个国内666的Maven镜像 阿里云Maven镜像 希望能帮到大家: 配置下setting.xml即可: <mirrors& ...
- 国内较快的maven镜像
原文网址:http://www.cnblogs.com/dingyingsi/p/3856456.html 国内连接maven官方的仓库更新依赖库,网速一般很慢,收集一些国内快速的maven仓库镜像以 ...
- 【转】国内较快的maven镜像
国内连接maven官方的仓库更新依赖库,网速一般很慢,收集一些国内快速的maven仓库镜像以备用. ====================国内OSChina提供的镜像,非常不错=========== ...
随机推荐
- Android实现系统重新启动
有些Android版本没有系统重启的功能,非常不方便.需要我们自己开发一个能够重新启动的应用. 首先定义布局文件: <?xml version="1.0" encoding= ...
- PHP中用GD绘制饼图
PHP中用GD绘制饼图,绘制的类见代码: Class Chart{ private $image; // 定义图像 private $title; // 定义标题 private $ydata; // ...
- 怎样实现了捕获应用中的日志在android开发中
怎样实现了捕获应用中的日志在android开发中,大家可研究一下. Process mLogcatProc = null; BufferedReader reader = null; try { mL ...
- Spring、mybaits整合
mybatis.cfg.xml <!DOCTYPE configuration PUBLIC "-//mybatis.org/DTD Config 3.0//EN" &quo ...
- 《高可用MySQL》2 – 单机版MySQL主从配置
这里搭建的主从是最简单的单一主从复制(即一个Master和一个slave,没有任何的热机备份和多slave),该主从结构的基本拓扑图如下所示: 建立基本的主从复制可以总结为以下三个基本步骤: 配置ma ...
- jmeter使用IP欺骗进行压力测试
loadrunner的IP欺骗功能很强大,耐心研究jmeter官方文档,发现在jmeter2.5以上的版本有此功能的实现~ 准备工作: 1.window7一台,安装jdk1.6环境. 2.下载最新 ...
- linux下查找java进程占用CPU过高原因
1. 查找进程 top查看进程占用资源情况 明显看出java的两个进程22714,12406占用过高cpu. 2.查找线程 使用top -H -p <pid>查看线程占用情况 3. ...
- Java经典实例:使用DateFormatter来格式化日期时间
Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; ...
- Gogs - 基于 Go 语言的自助 Git 服务
Gogs(Go Git Service) 是一个基于 Go 语言的自助 Git 服务.Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Gogs ...
- Web持久化存储Web SQL、Local Storage、Cookies(常用)
在浏览器客户端记录一些信息,有三种常用的Web数据持久化存储的方式,分别是Web SQL.Local Storage.Cookies. Web SQL 作为html5本地数据库,可通过一套API来操纵 ...