首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Maven的本土仓库、中心仓库、私服(NEW)

2013-10-22 
Maven的本地仓库、中心仓库、私服(NEW)?本地仓库设置本地仓库到指定目录,而不使用Maven默认的配置(默认放在C

Maven的本地仓库、中心仓库、私服(NEW)
?本地仓库设置本地仓库到指定目录,而不使用Maven默认的配置(默认放在C:/user/m2.目录下)打开Maven的解压目录E:\soft\apache-maven-3.1.0\conf,修改settings.xml配置localRepository即可完成本地仓库的设置:

<localRepository>E:/repository/maven/repos</localRepository>
?==================================================================?中心仓库即,告诉Maven从外网的哪个地方下载jar包Maven的安装目录中,在lib目录下,maven-model-builder-3.1.0.jar中,有一个默认的pom.xml文件其中就配置了Maven默认连接的中心仓库修改中心仓库:直接在POM.xml中加入repository的配置,指定一个新的url即可注意:这里仍然使用<id>central</id>,目的在于覆盖Maven中的配置的id为central的repository!
<repositories><repository><id>central</id><name>My Central Repository</name><url>http://repo.maven.apache.org/maven2</url><layout>default</layout><snapshots><enabled>false</enabled></snapshots></repository></repositories>
?==================================================================??私服配置在局域网环境中,为局域网中所有开发人员提供jar包的统一管理本地仓库(本机)--->私服(局域网)--->中心仓库(外部网络)?私服的安装1.下载NEXUS,http://www.sonatype.org2.解压3.配置环境变量:新建环境变量:NEXUS_HOME = E:\soft\nexus-2.5.1-01加入到path中:%NEXUS_HOME%\bin;4.打开CMD命令行C:\Users\Administrator>nexus install????? 安装服务C:\Users\Administrator>nexus start???????? 启动服务C:\Users\Administrator>nexus uninstall??卸载服务5.访问私服使用默认账户:admin 密码:admin123NEXUS内部使用Jetty作为服务器?http://localhost:8081/nexus?? 【界面用extjs开发的】?仓库的分类查看RepositoryMaven的本土仓库、中心仓库、私服(NEW)?host仓库--->内部项目的发布仓库Snapshots?? 发布内部snapshots版本的仓库Releases???? 发布内部release版本的仓库3rd party????? 发布第3方jar包的仓库,如oracle数据库驱动,open-189.jar?proxy仓库--->从远程中心仓库查找jar包的仓库Apache Snapshots??? 查找Apache项目的快照版本的仓库Central?? 中心仓库http://repo1.maven.org/maven2/ Codehaus Snapshots??? 查找Codehaus 的快照版本的仓库?group仓库--->把仓库按组划分,以组为单位进行管理?virtual仓库???私服的配置 / Repository的配置在parent模块的pom.xml中加入私服的配置,让Maven从私服下载jar包,而不直接去远程仓库下载。默认情况下,Maven下载jar包将直接连接到外网http://repo1.maven.org/maven2/去下载;安装私服之后,让Maven下载jar包先从私服查找,如果没有,再从外网下载并保存在私服上在POM在加入下面的配置,其中url为NEXUS私服的Public Repository对外的地址以后,Maven下载构建(jar包或插件)都将从这里开始下载
<project>    ...    <!-- 配置私服地址 -->  <repositories>    <repository>      <id>nexus</id>      <url>http://localhost:8081/nexus/content/groups/public/</url>      <snapshots><enabled>true</enabled></snapshots>      <releases><enabled>true</enabled></releases>    </repository>  </repositories>  <pluginRepositories>    <pluginRepository>      <id>nexus</id>      <url>http://localhost:8081/nexus/content/groups/public/</url>      <snapshots><enabled>true</enabled></snapshots>      <releases><enabled>true</enabled></releases>    </pluginRepository>  </pluginRepositories>  ...<project>
?通过settings.xml来配置私服由于所有的Maven项目都会用settings.xml中的配置进行解析,如果将Repository配置到这个文件中,那么对所有的Maven项目都将生效。此时,Maven项目中的POM文件就不需要再配置私服地址了!注意:修改settings.xml文件时,看IDE中关联的是哪个settings文件。如C:\user\.m2目录下可能存在,Maven的解压目录下也存在,具体修改哪个根据实际情况而定。如,Eclipse下,查看Maven的User Settings选项即能看到关联。我的IDE关联的是Maven\conf目录下的settings.xml:E:\soft\apache-maven-3.1.0\conf\settings.xml首先,通过<profile/>添加Repository和pluginRepository
<settings>  ...  <profiles>     <profile>      <id>profile-nexus</id>  <repositories><repository>  <id>nexus</id>  <url>http://localhost:8081/nexus/content/groups/public/</url>  <snapshots><enabled>true</enabled></snapshots>  <releases><enabled>true</enabled></releases></repository>  </repositories>  <pluginRepositories><pluginRepository>  <id>nexus</id>  <url>http://localhost:8081/nexus/content/groups/public/</url>  <snapshots><enabled>true</enabled></snapshots>  <releases><enabled>true</enabled></releases></pluginRepository>  </pluginRepositories>    </profile>  </profiles>  ...</settings>
?然后,使用<activeProfiles>对上面的配置进行激活(通过配置的id标识进行激活)?
  <activeProfiles>    <activeProfile>profile-nexus</activeProfile>  </activeProfiles>
??现在,本地机器上创建Maven项目,都会使用settings中有关仓库的配置了本地仓库:<localRepository>E:/repository/maven/repos</localRepository>本地Maven下载的依赖包和插件都将放到E:/repository/maven/repos目录中私服:本地所有Maven项目,下载构建都统一从http://localhost:8081/nexus/content/groups/public/?下载!【私服上不存在某个构建时,再从远程下载】远程仓库:如果远程仓库连接不上,则通过nexus修改central的地址即可!当前使用Maven的默认配置:http://repo1.maven.org/maven2/?????

热点排行