【转自】http://tianya23.blog.51cto.com/1081650/386908
1、maven 仓库地址:
共有的仓库
http://repo1.maven.org/maven2/
http://repository.jboss.com/maven2/
http://repository.sonatype.org/content/groups/public/
http://mirrors.ibiblio.org/pub/mirrors/maven2/org/acegisecurity/
私有的仓库
http://repository.codehaus.org/
http://snapshots.repository.codehaus.org/
http://people.apache.org/repo/m2-snapshot-repository
http://people.apache.org/repo/m2-incubating-repository/
同时可以搭建自己的maven仓库:私服, 搭建的方式参考如下:
http://juvenshun.javaeye.com/blog/349534
2、收集的外部仓库地址
http://www.ibiblio.org/maven/mule/dependencies/maven2/
附:Maven仓库的搭建
访问http://nexus.sonatype.org/downloads/下载Nexus。
启动Nexus,就是启动一个web服务器,它的默认地址是localhost:8081。Nexus在一个名为Jetty的servlet容器中运行,它使用一个名为Tanuki Java Service Wrapper的本地服务包裹器启动。这个服务包裹器可以被配置成以Windows服务或Unix守护线程的形式运行Nexus。要启动Nexus,你需要为你的平台找到合适的启动脚本。要查看可用平台的列表,查看${NEXUS_HOME}/bin/jsw目录的内容。
可执行文件在%nexus安装目录%\nexus-webapp-1.0.0\binjsw\windows-x86-32下:
InstallNexus.bat/UninstallNexus.bat是安装/卸载nexus为windows service。
Nexus.bat是直接在命令行中启动Nexus,如果不想安装Nexus为windows service,可以用这个文件来手工控制Nexus的启动退出。
1.配置nexus
首先登录,默认地址http://localhost:8081/nexus/,默认用户名密码为admin/admin123.
nexus默认是关闭远程索引下载功能的。开启的方式:
点击Administration菜单下面的Repositories,将这三个仓库Apache Snapshots,Codehaus Snapshots,Maven Central的
Download Remote Indexes修改为true。然后在这三个仓库上分别右键,选择Re-index,这样Nexus就会去下载远程的索引文件。
2.管理仓库
以管理员用户登陆然后点击左边导航菜单Administration下面的Repositories。Nexus提供了三种不同的仓库。
(1)代理仓库
一个代理仓库是对远程仓库的一个代理。默认情况下,Nexus自带了如下配置的代理仓库:
Apache Snapshots
这个仓库包含了来自于Apache软件基金会的快照版本。http://people.apache.org/repo/m2-snapshot-repository
Codehaus Snapshots
这个仓库包含了来自于Codehaus的快照版本。 http://snapshots.repository.codehaus.org/
Central Maven Repository
这是中央Maven仓库(发布版本)。 http://repo1.maven.org/maven2/
(2)宿主仓库
一个宿主仓库是由Nexus托管的仓库。Maven自带了如下配置的宿主仓库。
3rd Party
这个宿主仓库应该用来存储在公共Maven仓库中找不到的第三方依赖。这种依赖的样例有:你组织使用的,商业的,私有的类库如Oracle JDBC驱动。
Releases
这个宿主仓库是你组织公布内部发布版本的地方。
Snapshots
这个宿主仓库是你组织发布内部快照版本的地方。
(3)虚拟仓库
一个虚拟仓库作为Maven 1的适配器存在。Nexus自带了一个central-m1虚拟仓库
3. 管理组
组是Nexus一个强大的特性,它允许你在一个单独的URL中组合多个仓库。Nexus自带了两个组:public和public-snapshots。public组中组合了三个宿主仓库:3rd Party, Releases, 和Snapshots,还有中央Maven仓库。而public-snapshots组中组合了Apache Snapshots和Codehaus Snapshots仓库。
4. 配置maven
要让maven使用Nexus作为仓库,要修改~/.m2/settings.xml.
Xml代码
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://localhost:8081/nexus/content/groups/public</url>
</repository>
</repositories>
</profile>
<profile>
<id>nexus-snapshots</id>
<repositories>
<repository>
<id>nexus-snapshots</id>
<name>local private nexus snapshots</name>
<url>http://localhost:8081/nexus/content/groups/public-snapshots</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
<activeProfile>nexus-snapshots</activeProfile>
</activeProfiles>
5.部署构件至Nexus
要部署构件至Nexus,在distributionManagement中提供仓库URL,然后运行mvn deploy。Maven会通过一个简单的HTTP PUT将项目POM和构件推入至你的Nexus安装。需要配置你项目POM中distributionManagement部分的repository。
Xml代码
<distributionManagement>
<repository>
<id>releases</id>
<name>Internal Releases</name>
<url>http://localhost:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>Snapshots</id>
<name>Internal Snapshots</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
这样还没完,这时如果部署会报错,还要在~/.m2/settings.xml中添加如下的服务器登录信息:
Xml代码
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>Snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
部署第三方构件:
构件可能是私有数据库的JDBC驱动如Oracle,或者你依赖于另一个JAR,它既不开源也无法免费获得。在这样的情况下,你就需要手动拿来这些构件然后发布到你自己的仓库中。Nexus提供宿主的"third-party"仓库,就是为了这个目的。
使用以下命令发布该文件至Nexus:
Java代码
mvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc14
-Dversion=10.2.0.3.0 -Dpackaging=jar -Dfile=ojdbc.jar
-Durl=http://localhost:8081/nexus/content/repositories/thirdparty
-DrepositoryId=thirdparty
6.Nexus监听端口
默认情况下,Nexus监听端口8081。你可以更改这个端口,通过更改${NEXUS_HOME}/conf/plexus.properties的值,为此,停止Nexus,更改文件中applicationPort的值,然后重启Nexus。
7.Maven Profiles
Maven中的profile是一组可选的配置,可以用来设置或者覆盖配置默认值。有了profile,你就可以为不同的环境定制构建。profile可以在pom.xml中配置,并给定一个id。然后你就可以在运行Maven的时候使用的命令行标记告诉Maven运行特定profile中的目标。以下pom.xml使用production profile覆盖了默认的Compiler插件设置。
Xml代码
<profiles>
<profile>
<id>production</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<debug>false</debug>
<optimize>true</optimize>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
要使用production profile来运行mvn install,你需要在命令行传入-Pproduction参数。要验证production profile覆盖了默认的Compiler插件配置,可以像这样以开启调试输出(-X) 的方式运行Maven。
如果你开始大量使用Maven profile,你会希望将profile从POM中分离,使用一个单独的文件如profiles.xml。你可以混合使用定义在pom.xml中和外部profiles.xml文件中的profile。只需要将profiles元素放到${basedir}目录下的profiles.xml文件中,然后照常运行Maven就可以。profiles.xml文件的大概内容如下:
Xml代码
<profiles>
<profile>
<id>development</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<debug>true</debug>
<optimize>false</optimize>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>production</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<debug>false</debug>
<optimize>true</optimize>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
settings profile可以应用到所有你使用Maven构建的项目。你可以在两个地方定义settings profile:定义在~/.m2/settings.xml中的用户特定settings profile,或者定义在${M2_HOME}/conf/settings.xml中的全局settings profile。
分享到:
相关推荐
为了避免这种情况,开发人员可以预先将常用Jar包放入本地仓库,这样在构建项目时,Maven就能直接使用这些已经存在的依赖,显著提升构建效率。 **压缩包子文件的文件名称列表:repository** "repository"这个文件名...
以下是一些常用的Maven仓库搜索服务网站,你可以通过它们来查找你需要的jar包: 1. **Sonatype Nexus** (https://repository.sonatype.org): Sonatype Nexus是官方的Maven中央仓库,包含了大量的开源项目和库。在...
这极大地提高了开发效率,因为大多数常用的库都会被缓存到本地仓库,避免了网络延迟问题。 本地仓库的位置默认是在用户的家目录下,Windows系统通常是`%USERPROFILE%\.m2\repository`,而在Linux或Mac系统中则是`~/...
阿里云Maven仓库镜像 Maven是Java开发中常用的项目管理工具,可以帮助开发者管理项目的构建、编译、测试、打包和部署。Maven仓库是存储Maven项目依赖项的仓库,用于存储项目需要的jar包和其他依赖项。阿里云Maven...
包括阿里中央仓库、camunda.com 中央仓库、spring.io 中央仓库、maven.apache.org 中央仓库、maven.org 中央仓库、alfresco.com 中央仓库、oschina 中央仓库、oschina thinkgem 中央仓库、java.net 中央仓库、github...
Maven仓库是Maven系统的核心组成部分,用于存储和检索项目依赖的jar包。它分为本地仓库和远程仓库: 1. **本地仓库**:默认位于用户主目录下的`.m2\repository`,Maven首次构建项目时,会从远程仓库下载所需的jar包...
** Maven仓库插件的常用目标 ** 1. `deploy`: 这个目标用于将最终的工件和相关的POM部署到远程仓库。 2. `install`: 它将项目工件和相关依赖安装到本地仓库,以便其他项目可以引用。 3. `deploy-file`: 该目标允许...
在Spring Boot项目中,Maven是常用的构建工具,它管理项目的依赖并帮助构建可执行的JAR或WAR文件。Maven本地仓库是Maven存储下载的依赖的地方,对于开发者来说,理解如何正确配置和利用Maven本地仓库是至关重要的。 ...
描述中提到的“maven的本地仓库jar包”可能是指一个包含各种常用库的压缩文件,供那些无法直接访问中央仓库的开发者使用。这样的资源集合可以帮助开发者快速建立本地仓库,避免因网络问题或权限限制而无法下载所需库...
maven 常用命令集合 Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具,主要用于 Java 项目的构建、测试和部署。Maven 的强大之处在于其提供了一种标准化的方式来构建、测试和部署项目,...
在"maven常用包"这个主题中,我们主要探讨的是Maven生态系统中的核心概念、重要组件以及常用的插件和配置。 一、Maven核心概念 1. 项目对象模型(Project Object Model,POM):Maven的中心概念,它是一个XML文件,...
例如,你可以在 `settings.xml` 中配置私有仓库地址,以便 Maven 在构建时优先使用。 ### 四、Maven 常用命令 - `mvn clean`:清理目标目录,删除构建生成的文件。 - `mvn compile`:编译源代码。 - `mvn test`:...
【描述】提及的"Maven的常用jar包合集"指的是Maven仓库中的各种流行和必需的Java库,这些库可以被Maven项目引用,以实现与MySQL数据库的连接、数据操作和其他相关功能。通过在开发工具中设置正确的路径,这些jar包...
在获取Maven jar包时,最常用的下载地址是Apache Maven的官方网站(http://maven.apache.org/download.cgi)。这里你可以找到最新版本的Maven二进制发行版,包括预编译的jar包和其他必要的文件。下载过程中,通常会...
总的来说,"java-maven-repository本地仓库包大全"是Java开发者的实用资源,它集成了大量常用的库和工具,通过有效的依赖管理和构建流程,提升了开发效率和项目的可维护性。在使用过程中,理解并熟练掌握Maven的工作...
### Maven仓库镜像源知识点详解 #### 一、Maven简介与作用 Maven是Apache组织下的一个开源项目,它是一种规范化的项目构建工具,主要用于Java项目的构建与管理。Maven通过一系列生命周期(如clean、compile等)、...
为了提高开发效率,开发者可能会提前下载常用库到本地仓库,这样在构建项目时就无需等待网络下载。 此外,Maven的依赖管理机制遵循“最接近原则”,即如果一个依赖的多个版本同时存在,Maven会选择最近的版本。这...
3. `mvn install`:在执行了`mvn compile`之后,此命令会打包项目(默认为jar),并将包安装到本地Maven仓库中,以便其他项目可以作为依赖使用。 4. `mvn deploy`:部署项目到远程仓库,通常用于发布到私有的Maven...
Maven 常用命令 Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具,主要用于管理和构建 Java 项目。以下是 Maven 中的一些常用命令: 1. 创建项目 Maven 提供了 archetype 机制来快速...