使用Maven下载依赖包及使用Nexus搭建私服

在项目的搭建过程中,所以很多时候我们需要上网去一个一个找项目的依赖包。这个过程确实是一个效率很低而且很让人恼火的事情。

很多时候能找到对应的官网下载固然是好,但是大部分时候我们都只能在一些第三方网站上下载未知的版本。

所以我们需要一个Maven

Maven使用

Maven核心自带的远程仓库,包括了绝大部分开源构件。我们可以很方便通过Maven提供的坐标机制便捷的下载到你心仪的依赖包。

Maven下载、安装

下载地址: http://maven.apache.org/download.html

配置环境变量 系统变量: path: %MAVEN_HOME%\bin; MAVEN_HOME G:\maven\apache-maven-3.3.9-bin\apache-maven-3.3.9 到bin文件夹

cmd:mvn -version 查看安装是否成功

配置中央仓库:解压安装路径下 apache-maven-3.3.9\lib maven-model-builder-3.3.9.jar

m2eclipse下载、安装

这里我已经默认了你安装了JDK 并且安装了eclipse

m2eclipse下载是eclipse下一款Maven插件

打开eclipse: help --> Install New SoftWare --> add ?

 `Name`:m2e
 `Location`: *http://m2eclipse.sonatype.org/sites/m2e*

如果一直停留pending可以将Contact all update sites during install to find required software 取消勾选

新建一个Maven项目

eclipse:new --> Maven --> MavenProject 

Tips:可能会卡住,因为Maven会生成项目骨架,天朝的网络下载是硬伤。Properties参数archetypeCatalog=internal

添加要下载的地址

这里以Spring为例:

  • 你可以在官网download处找到

        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>4.3.2.RELEASE</version>
            </dependency>
        </dependencies>
  • 你也可以使用仓库搜索网站:

1.1 Sonatype Nexus

http://repository.sonatype.org/

2.2 Jarvana

https://www.jarvana.com/ jarvana/

3.3 MVNbrowser

http://www.mvnbrowser.com

4.4 MVNrepository

http://mvnrepository.com

然后将pom.xml中的对应部分替换掉稍加等待,你就可以在项目中看到你需要的依赖包。



下载路径更换

本地仓库默认路径:C:\Users\UserName.m2\repository

修改本地仓库的路径:apache-maven-3.3.9\conf\settings.xml

如:


    <localRepository>G:/maven/repository</localRepository>

下载Tips

下载json-lib


<!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib -->
<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.2.2</version>
</dependency>

无法下载 要改成


<!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib -->
<dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.2.2</version>
            <classifier>jdk15</classifier>
</dependency>

Maven 学习

自定义Jar

maven项目:编写主代码

默认主代码目录:src/main/java

运行主代码:根目录


    //clean:清理输出目录target/
    //compile:将主代码编译到target/classes
    $ mvn clean compile
    

maven项目:编写测试代码

默认测试代码目录:src/test/java

运行测试代码:

    $ mvn clean compile
  

打包和运行

maven会在打包之前执行编译、测试等操作。

打包和运行:

  $ mvn clean install

maven 坐标

maven 的一大功能是管理项目依赖,为了能自动化的解析任意一个Java构件(每个jar包可以当做一个构件)。maven使用坐标将它们唯一标示,每个构件都有一组坐标。

坐标的定义是根据元素:groupIdartifactIdversionpackagingclassifier

  • groupId:Maven项目隶属的实际项目
  • artifactId:实际项目中的一个Maven项目
  • version:该Maven当前所在的版本
  • packaging:Maven项目的打包方式
  • classifier:构件输出的一些附属构件

坐标和路径大致的对应为:

groupId/ artifactId/ version/ artifactId-version.packaging

maven 仓库

maven仓库可以分为两类:本地仓库远程仓库

远程仓库也可以分为中央仓库私服其他公共库

中央仓库是Maven核心自带的远程仓库,包括了绝大部分开源构件。

私服是一种特殊的远程仓库,为了节省带宽和时间在局域网架设一个私有的仓库服务器,代理所有的远程仓库,内部的项目也可以部署到私服上供其他项目使用。

依赖下载机制

当maven需要构件的时候,会先查看本地仓库,如果有直接使用。如果不存在会查看是否有最新版本的。如果还不存在则会去远程仓库下载需要的构件。

私服的部署

私服是一种特殊的远程仓库,它是架设在局域网上的仓库服务,私服代理广域网上的远程仓库。私服一大作用就是可以部署第三方构件,供团队人员交流和使用。

Nexus搭建私服

Nexus下载、安装

下载地址:https://nexus.sonatype.org/downloads/

安装完成了访问:http://localhost:8081/nexus 即可看到首页。

修改监听端口和ip

在安装目录下:Nexus\nexus-pro-trial-installer-2.13.0-01\conf\nexus.properties

application-port : nexus的监听端口

application-host : nexus的监听ip地址,如果使用nginx或apache等其他http代理,可将该ip地址修改为localhost127.0.01,增强安全性.

登录

默认账号:admin

密码:admin123

仓库属性

仓库类型(type)

  • grounp(仓库组)
  • hosted(宿主)
  • peoxy(代理)
  • virtual(虚拟)

仓库策略(Policy):

  • Release(发布版本)
  • Snapshot(快照版本)

配置Maven从Nexus下载构件


<project>
...
<properties>
     <repository>
         <id>nexus</id>
         <name>Nexus</name>
         <url>http://localhost:8081/nexus/content/groups/public/</url>
         <releases><enabled>true</enabled></releases>
         <snapshots><enabled>true</enabled></snapshots>
     </repository>
</properties>
<pluginRepositories>
   <pluginRepository>
         <id>nexus</id>
         <name>Nexus</name>
         <url>http://localhost:8081/nexus/content/groups/public/</url>
         <releases><enabled>true</enabled></releases>
         <snapshots><enabled>true</enabled></snapshots>
   </pluginRepository>
</pluginRepositories>
...
</project>

原文地址:https://www.cnblogs.com/chenjy1225/p/9661319.html

时间: 2024-10-23 15:26:21

使用Maven下载依赖包及使用Nexus搭建私服的相关文章

Maven下载依赖包所使用的方法或者说三方包

wagon-http-3.2.0-shaded.jar 下载主要用的是这个包,mac位于路径/usr/local/Cellar/maven/3.6.0/libexec/lib下 如图,即使修改jar包的名字,也不影响使用,因为只要保证在CLASS_PATH里就行,和名字无关 依赖包说明 可以修改依赖包源码,重新打包,以控制下载操作,比如修改超时时间,重试次数等 http://maven.apache.org/wagon/ 原文地址:https://www.cnblogs.com/shengulo

eclipse libraries 不存在maven的依赖包

eclipse libraries 不存在maven的依赖包时,照着下面一步步来 1.项目右键->Build Path -> Java Build Path ->Libraries ->Add Library ->Maven Managed Dependences->点击Next ->点击'Maven Project settings' , 在'Active Maven Profiles (comma separated)'中添加"Maven Depen

解决Maven下载依赖慢的问题(转)

使用Maven构建项目时,项目中有的依赖包可能下载的非常慢,我们可以通过配置镜像来解决这个问题. 之前开源中国的那个好像已经关闭了,于是我找到了一个阿里的来解决. 在Maven的配置文件(%MAVEN%/conf/setting.xml)中的< mirrors> 标签中加入 <!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <

SBT 无法下载依赖包

之前做过一个项目是用  sbt 管理依赖的,被坑得不要不要的.. 拉取依赖时总是提示无法连接,但用浏览器可以访问相应的网站(typesafe, jcenter) 提示的错误为: Server access Error: Connection timed out url=https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt/0.13.8/ivys/ivy.xml 捣鼓了半天终于找到了解决的方法——将依赖包的地址改成htt

Maven - 下载JAR包

进入Spring官网http://projects.spring.io/spring-framework/如果我们想下载Spring发现只能 通过Maven或Cradle进行下载了. 下面以Spring为例使用Maven下载JAR文件 方法: 1.任意目录下创建一个文件夹,其下创建一个pom.xml文件(本例为:D:\maven-jar) 2.修改Maven默认的下载位置 打开 D:\apache-maven-3.0.5\conf\settings.xml <!-- localRepositor

Maven下载依赖项的源代码(source code)和Javadoc

Maven 默认只下载依赖项本身的 jar 文件,不下载源代码和 Javadoc.如此固然工程的体积是最小的,但在开发者不熟悉依赖的对象时,需要查找源代码中的方法定义和说明. 这时我们需要使用一条 Maven 命令将源代码和 Javadoc 下载到本地仓库. 代码清单 $ mvn dependency:sources -DdownloadSources=true -DdownloadJavadocs=true 该命令共两个参数,前者下载源代码,后者下载Javadoc.

记录-Maven下载jar包失败解决办法

maven从nexsu上面拉jar包,有时会因为网络问题导致下不了包,这时候文件夹内会个*lastUpdated.properties的文件,而这文件的存在会导致下次服务器不会去下载这个包,这时候要删掉这个文件才能让maven再次去下载.以下分别是windows下和linux下的批量删除该文件命令: Java代码   del D:\java\maven\maven2_repository\*lastUpdate* /a/s Java代码   find ./ -name "*lastUpdated

使用maven下载jar包的source和javadoc

使用maven菜单下载sources和javadocs没什么反应,还是命令给力. 使用参数下载源码包与doc包: -DdownloadSources=true 下载源代码jar -DdownloadJavadocs=true 下载javadoc包mvn dependency:sources -DdownloadSources=true -DdownloadJavadocs=true --亲测可用,下载完成之后jar的属性中的source和doc都自动关联上了(jar包属性上设置路径).mvn d

【CentOS】yum install --downloadonly 下载依赖包研究

在CentOS中可以使用yum自动安装软件,在离线环境中却行不通. Linux localhost 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 对于同一版本CentOS,我们可以事先下载离线依赖包,后面用命令手动安装. Java 自动安装命令: yum install -y java 安装结果: Installed: java-1.8.0-openjdk.x86_