设置maven组件库仓库

合集下载

【Maven】配置文件详解

【Maven】配置文件详解

【Maven】配置⽂件详解概述参考本⽂讲解Maven的配置⽂件及其命令的使⽤。

Maven及其项⽬⽬录结构Maven⽬录结构Maven⼯程⽬录结构其中pom指project object model (项⽬对象模型) 或者 package object management (依赖包对象管理器)配置⽂件Maven常⽤的核⼼配置⽂件包括全局配置⽂件settings.xml和项⽬配置⽂件pom.xml,还有不常⽤的⽤户配置⽂件settings.xmlnote 如果在上述三个配置⽂件中出现相同配置,则优先级如下:pom.xml>settings.xmlnote>settings.xml以下所有配置⽂件资源来源于课程《》,包含的资源列表如下:全局配置 settings.xml顶级标签settings.xml 配置包含如下顶级标签完整的settings.xml 配置<settings ...><localRepository/> <!--本地仓库路径--><interactiveMode/> <!--是否需要和⽤户交互,默认true ,⼀般⽆需修改--><usePluginRegistry/> <!--是否通过pluginregistry.xml 独⽴⽂件配置插件,默认false,⼀般直接配置到pom.xml--><offline/> <!--是否离线模式,默认false ,如果不想联⽹,可以开启--><pluginGroups/> <!--配置如果插件groupid 未提供时⾃动搜索,⼀般很少配置--><servers/> <!--配置远程仓库服务器需要的认证信息,如⽤户名和密码--><mirrors/> <!--为仓库列表配置镜像列表--><proxies/> <!--配置连接仓库的代理--><profiles/> <!--全局配置项⽬构建参数列表,⼀般通过它配置特定环境的定制化操作--><activeProfiles/> <!--⼿⼯激活profile ,通过配置id 选项完成激活--><activation/> <!--profile 的扩展选项,指定某些条件下⾃动切换profile 配置--><properties/> <!--在配置⽂件中声明扩展配置项--><repositories/> <!--配置远程仓库列表,⽤于多仓库配置--><pluginRepositories/> <!--配置插件仓库列表--></settings><settings xmlns="/SETTINGS/1.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/SETTINGS/1.0.0https:///xsd/settings-1.0.0.xsd"><!-- 本地仓库配置:默认~/.m2/repository[店家推荐修改配置] --><localRepository>${user.home}/.m2/repository</localRepository><!-- 交互⽅式配置,读取⽤户输⼊信息[使⽤默认即可,很少修改] --><interactiveMode>true</interactiveMode><!-- 是否启⽤独⽴的插件配置⽂件,⼀般很少启⽤[默认即可,很少修改] --><usePluginRegistry>false</usePluginRegistry><!-- 是否启⽤离线构建模式,⼀般很少修改[如果长时间不能联⽹的情况下可以修改] --><offline>false</offline><!-- 是否启⽤插件groupId ⾃动扫描[很少使⽤,配置插件时建议全信息配置] --><pluginGroups><pluginGroup>org.apache.maven.plugins</pluginGroup></pluginGroups><!--配置服务端的⼀些设置如⾝份认证信息(eg: 账号、密码) --><servers><!--服务器元素包含配置服务器时需要的信息 --><server><!--这是server 的id (注意不是⽤户登陆的id )该id 与distributionManagement 中repository 元素的id 相匹配。

maven配置多个仓库的方法

maven配置多个仓库的方法

maven配置多个仓库的⽅法1>⽅法⼀之前在配置 Maven 的 settings.xml 时,都会设置 mirror 节点,例如:<mirrors><mirror><id>alimaven</id><name>aliyun maven</name><url>/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror></mirrors>然后第⼀想法就是在 mirrors 节点下多增加⼏个 mirror,然⽽并不可以。

正确的操作是在 profiles 节点下配置多个 profile,⽽且配置之后要激活。

例如:配置profiles<profiles><profile><id>boundlessgeo</id><repositories><repository><id>boundlessgeo</id><url>https:///main/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots></repository></repositories></profile><profile><id>aliyun</id><repositories><repository><id>aliyun</id><url>/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots></repository></repositories></profile><profile><id>maven-central</id><repositories><repository><id>maven-central</id><url>/maven2/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots></repository></repositories></profile><profiles>通过配置 activeProfiles ⼦节点激活<activeProfiles><activeProfile>boundlessgeo</activeProfile><activeProfile>aliyun</activeProfile><activeProfile>maven-central</activeProfile></activeProfiles>如果在IDE⾥,记得要更新⽣效,然后就可以了。

Maven私库安装与配置

Maven私库安装与配置

Maven私库安装与配置前⾔项⽬开发时,⼀般采⽤Maven来进⾏项⽬构建,管理,jar包下载,项⽬组开发⼈员开发时,只要在项⽬的pom.xml⽂件中,添加如下pom.xml信息从公共的库中下载相关的Jar包以及依赖Jar包,但有时候公共的库不是那么稳定⽽且下载速度往往很慢,⼀个团队⼀起开发项⽬时,如果每个组员都去下载⼀遍所有依赖的Jar包,其实是⼀件很⿇烦的事情,所以这时候就有必要搭建⼀个Maven的私库了,这样如果再添加其他的构件时,会先在Maven私库下载好,以后才会下载到本地。

以后,如果发现私服已经存在某⼀jar包,则会直接从私服下载,如果没有再去⽹络上下载,能⼤⼤的提⾼效率,因此很有必要搭建maven私服。

Maven私库安装部署1.平台版本说明centos 7nexus-2.14.2JDK 8apache-maven-3.3.92.环境安装:安装nuxus maven私库之前先要安装好JDK、maven等必要环境先安装JDK下载jdk 8,去官⽹下载jdk8解压jdk到当前⽬录tar -zxvf jdk-8u91-linux-x64.tar.gz配置环境变量vim /etc/profile添加如下内容:JAVA_HOME根据实际⽬录来JAVA_HOME=/usr/java/jdk1.8.0_65CLASSPATH=$JAVA_HOME/lib/PATH=$PATH:$JAVA_HOME/binexport PATH JAVA_HOME CLASSPATH再安装Maven下载maven 到Maven官⽹下载安装⽂件,⽬前最新版本为3.3.9,下载⽂件为apache-maven-3.3.9-bin.tar.gz,下载可以使⽤wget命令;进⼊下载⽂件夹,找到下载的⽂件,运⾏如下命令解压tar -xvf apache-maven-3.3.9-bin.tar.gz配置环境变量MAVEN_HOME=/usr/local/apache-maven-3.3.9export MAVEN_HOMEexport PATH=${PATH}:${MAVEN_HOME}/bin保存⽂件,并运⾏如下命令使环境变量⽣效source /etc/profile在控制台输⼊如下命令,如果能看到Maven相关版本信息,则说明Maven已经安装成功mvn -v3.Nexus Maven私库安装nexus maven下载,下载地址:https:///download-oss-sonatype,我下载的是nexus-2.14.2-01-bundle.tar.gz 安装 linux版本⽆需安装,直接解压即可 tar -zxvf nexus-2.14.2-01-bundle.tar.gz运⾏ 进⼊bin⽬录下,运⾏./nexus start,启动服务开机启动sudo ln -s /usr/local/nexus/nexus-2.14.2-01/bin/nexus /etc/init.d/nexus使⽤service nexus status/start/stop查看nexus服务状态、启动服务、停⽌服务等使⽤chkconfig nexus on/off设置nexus服务开机⾃启动或者开机不启动Nexus Maven私库的使⽤1.初识Nexus Maven私库8081为默认的端⼝号,要修改端⼝号可进⼊nexus-2.14.2-01-bundle\nexus-2.14.2\conf\打开nexus.properties⽂件,修改application-port属性值就可以了。

使用gitee或github托管maven仓库jar包的简便方法

使用gitee或github托管maven仓库jar包的简便方法

使用gitee或github托管maven仓库jar包的简便方法全文共四篇示例,供读者参考第一篇示例:使用gitee或github托管Maven仓库jar包是一种非常方便的方法,可以帮助开发人员更好地管理和共享自己的代码库。

在本文中,我将介绍如何利用这两个平台来托管Maven仓库jar包,并给出一些简便的方法供大家参考。

我们需要在gitee或github上创建一个仓库,用来存放我们的jar 包。

可以选择新建一个空的仓库,或者将现有的仓库用于托管jar包。

在创建仓库的时候,最好设定为私有仓库,这样可以保护我们的代码不被他人修改或复制。

接下来,我们需要将jar包上传到仓库中。

可以直接通过网页端上传,也可以通过命令行工具进行上传。

如果是通过网页端上传,只需要在仓库中点击“上传文件”按钮,然后选择要上传的jar包即可。

如果是通过命令行工具上传,可以使用git命令,具体可以参考gitee或github的官方文档。

上传完jar包后,我们需要在pom.xml文件中添加仓库的地址。

在<pom>标签内添加如下代码:```xml<repositories><repository><id>gitee-repo</id><url>https:///your_username/your_repo/raw/master/ </url></repository></repositories>```或者以上代码中,your_username是你的用户名,your_repo是你的仓库名。

这样,Maven就可以从这个仓库中下载jar包了。

groupId和artifactId可以根据实际情况修改,version是jar包的版本号。

这样,Maven就可以通过仓库下载到这个jar包。

第二篇示例:在软件开发过程中,我们经常会依赖于各种第三方库来完成项目的构建和开发。

JAVA学习之maven的使用

JAVA学习之maven的使用

JAVA学习之maven的使⽤场景:最近使⽤springboot写⼀些⼩demo,发现到处都要使⽤maven,更离不开其中的pom.xml⽂件,所以这⾥对maven的常规使⽤作出⼀个整理。

⽂章结构:1. 安装配置maven环境2. maven⽬录结构3. HelloMaven4. 常⽤构建命令5. 使⽤archetype插件⾃动建⽴⽬录6. 坐标&仓库7. ⽣命周期&插件的使⽤8. pom.xml常⽤标签介绍9. maven依赖(范围、传递、冲突)10. 聚合&继承正⽂:1. 安装配置maven环境⾸先,在中下载maven组件。

进⼊官⽹后,在左边菜单找到Download选项,点击进⼊Download页⾯。

当然,我们⾸先要保证JDK安装好。

接下来,要在本地配置好maven的系统环境变量,新建⼀个maven_home的变量,然后在系统变量的path后⾯追加这个maven_home;接着,我们测试下maven安装成功没有(注意,⼀般我们都先安装好JDK,因为maven的命令应该是要借助jdk的):如图所⽰,显⽰了maven的版本信息跟jdk的版本信息,当然,我们也可以使⽤echo 查看下系统环境变量:到这⾥,我们对maven的环境配置就完成了。

其实这是第⼀种,我们下载jar包的形式,不过本⼈是使⽤第⼆种,直接安装eclipse(包含maven)的版本即可,⽐如我安装的版本即是⾃带的maven;接下来只需要配置好本地的系统变量即可。

诶,如果我们想要改变maven的版本呢,我们可以在eclipse当中的preferences当中改变:2. maven项⽬的⽬录结构先在这⾥插⼊⼀点个⼈对maven的理解,我们之前每个项⽬都需要有⾃⼰的jar包,但是这么多jar包很多有相同的,⽽这些jar包⼜是基于项⽬存放的,如果我们跨越项⽬这⼀层,统⼀管理jar包呢,这样不就可以节约很多空间和时间。

maven仓库配置pom中repositories属性

maven仓库配置pom中repositories属性

maven仓库配置pom中repositories属性什么是Maven仓库在不⽤Maven的时候,⽐如说以前我们⽤Ant构建项⽬,在项⽬⽬录下,往往会看到⼀个名为/lib的⼦⽬录,那⾥存放着各类第三⽅依赖jar⽂件,如log4j.jar,junit.jar等等。

每建⽴⼀个项⽬,你都需要建⽴这样的⼀个/lib⽬录,然后复制⼀对jar⽂件,这是很明显的重复。

重复永远是噩梦的起点,多个项⽬不共⽤相同的jar⽂件,不仅会造成磁盘资源的浪费,也使得版本的⼀致性管理变得困难。

此外,如果你使⽤版本管理⼯具,如SVN(你没有使⽤版本管理⼯具?马上试试SVN吧,它能帮你解决很多头疼的问题),你需要将⼤量的jar⽂件提交到代码库⾥,可是版本管理⼯具在处理⼆进制⽂件⽅⾯并不出⾊。

Maven仓库就是放置所有JAR⽂件(WAR,ZIP,POM等等)的地⽅,所有Maven项⽬可以从同⼀个Maven仓库中获取⾃⼰所需要的依赖JAR,这节省了磁盘资源。

此外,由于Maven仓库中所有的JAR都有其⾃⼰的坐标,该坐标告诉Maven它的组ID,构件ID,版本,打包⽅式等等,因此Maven项⽬可以⽅便的进⾏依赖版本管理。

你也不在需要提交JAR⽂件到SCM仓库中,你可以建⽴⼀个组织层次的Maven仓库,供所有成员使⽤。

简⾔之,Maven仓库能帮助我们管理构件(主要是JAR)。

本地仓库(.m2) vs. 远程仓库(联⽹)运⾏Maven的时候,Maven所需要的任何构件都是直接从本地仓库获取的。

如果本地仓库没有,它会⾸先尝试从远程仓库下载构件⾄本地仓库,然后再使⽤本地仓库的构件。

⽐如说,你的项⽬配置了junit-3.8的依赖,在你运⾏mvn test 的时候,Maven需要使⽤junit-3.8的jar⽂件,它⾸先根据坐标查找本地仓库,如果找到,就直接使⽤。

如果没有,Maven会检查可⽤的远程仓库配置,然后逐个尝试这些远程仓库去下载junit-3.8的jar⽂件,如果远程仓库存在该⽂件,Maven会将其下载到本地仓库中,继⽽使⽤。

Maven默认中央仓库(settings.xml配置详解)

Maven默认中央仓库(settings.xml配置详解)

Maven默认中央仓库(settings.xml配置详解)Maven的安装安装Maven之前要确保已经安装好了jdk,并且配置好了环境变量JAVA_HOME。

具体安装步骤如下:2. 将下载后的压缩包解压到Maven的安装⽬录,⽐如说是D:\\develop,那么解压后就是D:\\develop\\apache-maven-3.0.4。

3. 添加环境变量M2_HOME,其值为Maven的家⽬录,如D:\\develop\\apache-maven-3.0.4。

4.添加环境变量M2,其值将为maven安装⽬录的bin⽬录,即D:\\develop\\apache-maven-3.0.4\\bin,对于windows系统也可以使⽤%M2_HOME%\\bin,对于linux系统也可以使⽤$M2_HOME/bin。

5.将环境变量M2加⼊到PATH变量中,对于windows系统,可以在PATH变量的值后⾯加上“;%M2%”,对于linux系统,可以使⽤“export path=$path:$M2”6.还有⼀个可选的环境变量MAVEN_OPTS,该环境变量主要是配置Maven在使⽤jdk的时候指定JVM属性的。

如指定其值为“-Xms256m -Xmx512m”。

经过以上⼏步之后Maven就安装成功了。

接下来我们可以在命令窗⼝使⽤mvn --version来验证⼀下Maven是否安装成功。

如能正确输出Maven的安装版本,则表⽰它安装成功了。

当我们创建⼀个简单的Maven项⽬后(只需要在pom.xml配置好依赖),运⾏mvn clean install就可以把项⽬构建好,不需要我们⼿⼯下载任何jar,这全靠中央仓库的存在,它会⾃动从仓库下载。

这个仓库的定义是在${M2_HOME}/lib/maven-2.0.10-uber.jar ⾥⾯。

你可以在⾥⾯找到\org\apache\maven\project\pom-4.0.0.xml 这个⽂件,在这个⽂件⾥⾯定义了默认中央仓库的地址:<repositories><repository><id> central</id><name> Maven Repository Switchboard</name><layout> default</layout><url> /maven2</url><snapshots><enabled> false</enabled></snapshots></repository></repositories>如果你想覆盖中央仓库的默认地址,那么这⾥我们就会使⽤的镜像了,还在setting.xml⾥⾯配置:<settings>…<mirrors><mirror><id> maven-net-cn</id><name> Maven China Mirror</name><url> /content/groups/public/</url><mirrorOf> central</mirrorOf></mirror></mirrors>…</settings>,表⽰只为central仓库做镜像,如果想为所有的仓库做镜像那么可以改为: *Maven配置详解maven2 ⽐起maven1 来说,需要配置的⽂件少多了,主要集中在pom.xml和settings.xml中。

idea indexed maven repositories

idea indexed maven repositories

idea indexed maven repositories
Maven是Java项目管理的利器,可以自动化构建、依赖管理等,Maven仓库是Maven项目中的核心,它是存储项目的依赖库。

在Idea 中,通过配置Maven仓库,我们可以方便地管理项目的依赖关系。

本文将介绍如何在Idea中索引Maven仓库。

1. 打开Idea,进入Settings(设置)页面,找到Maven选项。

2. 在Maven选项中,找到Repositories(仓库)选项,点击Add (添加)按钮。

3. 在Add Repository窗口中,输入仓库的名称、URL和更新策略,点击OK按钮保存。

4. 添加完仓库后,Idea会开始索引Maven仓库,可以在右下角的进度条中查看。

5. 索引完成后,我们就可以在项目中添加依赖了。

在pom.xml 文件中添加依赖时,可以通过搜索框来查找需要的依赖。

通过以上步骤,我们可以方便地管理Maven仓库,快速添加项目依赖。

同时,Idea还支持自定义仓库的设置,更加灵活方便。

- 1 -。

安装与配置windows版maven与常见错误

安装与配置windows版maven与常见错误

安装与配置windows版maven(前提:先安装jdk):1.到下载最新maven3.1.1并解压到D盘,并将解压目录改名为maven32.修改D:¥maven3¥bin¥mvn.bat,看脚本,在设置java.exe前设置JAVA_HOME(找到位置加上:set JAVA_HOME=d:¥jdk7)3.打开命令窗口,输入d:¥maven3¥bin¥mvn --version,就可以看到maven信息.4.输入d:¥maven3¥bin¥mvn help:system,就可以看到下载相关东东到库.默认的库位置在当前用户主目录的.m2目录,按ctrl+c可以终止下载.5.更改本地库到e:/repository,在默认的库位置所在目录C:¥Users¥<USER>¥.m2,把repository删了,然后复制D:¥maven3¥conf的settings.xml到C:¥Users¥<USER>¥.m2,在setting节点加入<localRepository>e:/repository</localRepository>就OK,再次输入d:¥maven3¥bin¥mvn help:system看结果生成项目:d:¥maven3¥bin¥mvn archetype:generate -DinteractiveMode=false-DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.test-DartifactId=testjava -Dversion=1.0-SNAPSHOTd:¥maven3¥bin¥mvn archetype:generate -DinteractiveMode=false-DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.test -DartifactId=testweb -Dversion=1.0-SNAPSHOT常见错误:一..在Eclipse导入已存在工作空间的项目,出现情况1:Scanning errors (1):1 Could not read pom.xml就是pom.xml出现了不能解析的配置,把不能解析的配置修改过来.例如去掉<build><finalName>testweb</finalName></build>情况2:No marketplace entries found to handle maven-compiler-plugin:2.3.2:testCompile in Eclipse.将Eclipse内置的Maven换成外部自己安装的Maven,重启Eclipse.然后,在命令行执行mvn clean install再导入项目.二.导入项目后出现:情况1:Project configuration is not up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix.在Problems View的出错提示右键选Quick Fix,再按提示确定就OK.或者,右键项目->Mave n->Update Project情况2:JavaServer Faces 2.2 can not be installed : One or more constraints have not been satisfied. JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer.先改web.xmlwebapp节点:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_1.xsd"version="3.1">然后关闭Eclipse,改项目下的.settings¥mon.project.facet.core.xml.将版本改成为3.1,将成后是<installed facet="jst.web" version="3.1"/>,再启动Eclipse.最后出现上面的情况1,按上面更新下配置就OK.三.<addMavenDescriptor>false</addMavenDescriptor>在Eclipse无效,仍然会将pom.xml,pom.properties打包入jar.在CLI(command-line interface)运行命令,此种情况拒绝使用Eclipse来执行命令(当然你测试打包入去没影响)四.启动tomcat报错:java.util.zip.ZipException: invalid LOC header (bad signature),启动jetty报错: java.util.zip.ZipException: invalid distance too far back以上两种错:一般是一个或多个下载的jar不完整.在eclipse的下载经常出现.而直接在cmd好像不会出错....tomcat\会提示是那些类...就可推是那个jar.但jetty可能不会指出是那个jar.按常理都是调用外部的maven,并且下载后做文件指纹校验的.真的不明白会有这样的情况.先用idea一段时间看看...至少eclipse4.3遇到两次了.我都清一次库了,抓狂啊.啊..啊....对于抛出的异常还是找不到下载不完整的jar,我就写了一个工具.在文末我会贴上.五.没用web.xml的web,打包成war文件,报错: Failed to execute goalorg.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project web: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)只需要在web模块下的pom.xml下的build节点增加以下代码,重写一下maven-war-plugin 组件就可以.重点在于下面的configuration. plugins是build下在同的节点,与pluginManagement是兄弟节点.其中,下面的executions节点可以删除,留默认值.[html]view plaincopy1.<plugins>2.<plugin>3.<artifactId>maven-war-plugin</artifactId>4.<version>2.2</version>5.<configuration>6.<failOnMissingWebXml>false</failOnMissingWebXml>7.</configuration>8.<executions>9.<execution>10.<id>default-war</id>11.<phase>package</phase>12.<goals>13.<goal>war</goal>14.</goals>15.</execution>16.</executions>17.</plugin>18.</plugins>安装jar到本地maven库例子.d:¥maven¥bin¥mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=ojdbc14-10.2.0.4.0.jarmaven的5种scope对于3种class是否有效:[html]view plaincopy1. compile test runtime examplepile Y Y Y spring-core3.test - Y - junit4.provided Y Y - servlet-api5.runtime - Y Y jdbc驱动6.system Y Y - 本地的,maven仓库之外的类库文件左边为第一直接依赖,上边为第二直接依赖,则对应的依赖传递如下:[html]view plaincopy1. compile test provided runtimepile compile - - runtime3.test test - - test4.provided provided - provided provided5.runtime runtime - - runtime依赖调解两原则:1.路径最近者优先2.路径长度相同,解析依赖声明靠前优先找出maven下载出错的文件工具类(我170多M左右的maven库,一分钟左右就检查完毕,最终确实有几个下载不完整的文件)[java]view plaincopy1.import java.io.*;2.import java.security.MessageDigest;3.import java.security.NoSuchAlgorithmException;4.5./**6. * 找出maven下载出错的文件7. * Created by xiejx618 on 14-4-1.8. */9.public class TestUtil {10.private static MessageDigest messageDigest = null;11.static {12.try {13. messageDigest= MessageDigest.getInstance("SHA1");14. }catch (NoSuchAlgorithmException e){15. e.printStackTrace();16. }17. }18.private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5','6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };19.private static final int BUFFER_SIZE = 4096;20.21./**22. * 以16进制字符串形式返回数据的sha123. * @param data24. * @return25. */26.public static String digestData(byte[] data) {27. messageDigest.update(data);28. data=messageDigest.digest();29.int len = data.length;30. StringBuilder buf = new StringBuilder(len * 2);31.for (int j = 0; j < len; j++) {32. buf.append(HEX_DIGITS[(data[j] >> 4) & 0x0f]).append(HEX_DIGITS[data[j] & 0x0f]);33. }34.return buf.toString();35. }36./**37. * 根据文件与编码以String形式返回文件的数据38. * @param file39. * @param charset40. * @return41. */42.public static String getFileString(File file, String charset){43. InputStreamReader reader=null;44. StringBuilder out = null;45.try {46. reader = new InputStreamReader(new FileInputStream(file), charset);47. out = new StringBuilder();48.char[] buffer = new char[BUFFER_SIZE];49.int bytesRead = -1;50.while ((bytesRead = reader.read(buffer)) != -1) {51. out.append(buffer, 0, bytesRead);52. }53. }catch (IOException e){54. e.printStackTrace();55. }finally {56.try {57.if (reader!=null) reader.close();58. } catch (IOException ex) {59. ex.printStackTrace();60. }61. }62.return out.toString();63. }64.65./**66. * 根据文件以byte[]形式返回文件的数据67. * @param file68. * @return69. */70.public static byte[] getFileData(File file){71. FileInputStream in=null;72. ByteArrayOutputStream out=null;73.try {74. in=new FileInputStream(file);75. out=new ByteArrayOutputStream(BUFFER_SIZE);76.int byteCount = 0;77.byte[] buffer = new byte[BUFFER_SIZE];78.int bytesRead = -1;79.while ((bytesRead = in.read(buffer)) != -1) {80. out.write(buffer, 0, bytesRead);81. byteCount += bytesRead;82. }83. out.flush();84. } catch (IOException e) {85. e.printStackTrace();86. } finally {87.try{88.if (in!=null) in.close();89.if (out!=null) out.close();90. }catch (IOException ex){91. ex.printStackTrace();92. }93. }94.return out.toByteArray();95. }96.97./**98. * 凡是以.sha1的文件结尾的文件,先将文件名去掉.sha1找到文件sourcefile,获取sourcefile文件的真实的sha1和从这个.sha1文件获取sha1,99. * 进行比照,如果不匹配,输出实际的sha1和期望的sha1100. *101. * @param file102. */103.public static final void handle(File file){104. String filename=file.getName();105.if(filename.endsWith(".sha1")){106. String sourcename=filename.substring(0, stIndexOf('.') );107. File sourcefile=new File(file.getParent(),sourcename);108.byte[] sourcedata=getFileData(sourcefile);109. String sha1Real=digestData(sourcedata);110. String content=getFileString(file,"UTF-8");111. String sha1Check=content.split(" ")[0].trim();112.if(!sha1Real.equalsIgnoreCase(sha1Check)){113. System.out.println(sourcefile.getAbsolutePath()+"的实际SHA1:"+sha1Real);114. System.out.println(file.getAbsolutePath()+"的验证SHA1:"+sha1Check);115. }116. }117. }118.119./**120. * 根据目录dir,递归所有的文件按handle方法处理121. * @param dir122. */123.public static final void showAllFiles(File dir){124. File[] fs = dir.listFiles();125.for(int i=0; i<fs.length; i++){126.if(fs[i].isDirectory()){127. showAllFiles(fs[i]);128. }129. handle(fs[i]);130. }131. }132.public static void main(String[] args) { 133. showAllFiles(new File("E:/mvnrepo0329")); 134. System.out.println("the end");135. }136.}。

maven镜像地址以及maven仓库

maven镜像地址以及maven仓库

maven镜像地址以及maven仓库⾸先介绍⼀下maven仓库的概念,在 Maven 的术语中,仓库是⼀个位置(place),例如⽬录,可以存储所有的⼯程 jar ⽂件、library jar ⽂件、插件或任何其他的⼯程指定的⽂件。

仓库包括三类:本地、中央和远程。

本地仓库Maven 本地仓库是机器上的⼀个⽂件夹。

它在你第⼀次运⾏任何 maven 命令的时候创建。

Maven 本地仓库保存你的⼯程的所有依赖(library jar、plugin jar 等)。

当你运⾏⼀次 Maven 构建,Maven 会⾃动下载所有依赖的 jar ⽂件到本地仓库中。

它避免了每次构建时都引⽤存放在远程机器上的依赖⽂件。

我们⾸先从.m2⽬录下复制⼀份setting.xml⽂件到我们的需要构建本地仓库的⽬录下,然后需要在settings.xml中更改<localRepository>标签<localRepository>D:/java development kit/apache-maven-3.6.1/repo</localRepository> 运⾏maven时,会默认将pom.xml中配置的jar包放到配置⽬录下。

中央仓库Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了⼤量常⽤的库。

中央仓库的关键概念:这个仓库由 Maven 社区管理。

不需要配置。

需要通过⽹络才能访问。

远程仓库如果 Maven 在中央仓库中也找不到依赖的库⽂件,它会停⽌构建过程并输出错误信息到控制台。

为避免这种情况,Maven 提供了远程仓库的概念,它是开发⼈员⾃⼰定制仓库,包含了所需要的代码库或者其他⼯程中⽤到的 jar ⽂件。

例如:<project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>panyname.projectgroup</groupId><artifactId>project</artifactId><version>1.0</version><dependencies><dependency><groupId>mon-lib</groupId><artifactId>common-lib</artifactId><version>1.0.0</version></dependency><dependencies><repositories><repository><id>companyname.lib1</id><url>/maven2/lib1</url></repository><repository><id>companyname.lib2</id><url>/maven2/lib2</url></repository></repositories></project>Maven 依赖搜索顺序当我们执⾏ Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:步骤 1 -在本地仓库中搜索,如果找不到,执⾏步骤 2,如果找到了则执⾏其他操作。

idea右侧maven用法

idea右侧maven用法

idea右侧maven用法(实用版)目录1.Maven 简介2.idea 右侧 maven 用法概述3.配置 Maven 仓库4.创建 Maven 项目5.使用 Maven 进行依赖管理6.使用 Maven 进行构建和测试7.总结正文1.Maven 简介Maven 是一个开源的构建自动化工具,它采用了项目对象模型(POM)来管理项目的构建、报告和文档。

Maven 可以帮助开发者管理项目的依赖关系、自动下载和安装依赖库、编译源代码、测试代码、打包和分发等。

2.idea 右侧 maven 用法概述在 IntelliJ IDEA 中,右侧 Maven 用法指的是在 IDEA 的 Maven 工具窗口中进行 Maven 相关操作的方法。

通过右侧 Maven 用法,开发者可以方便地管理 Maven 项目,包括查看项目结构、管理依赖关系、执行构建和测试等任务。

3.配置 Maven 仓库在使用右侧 Maven 用法之前,首先需要配置 Maven 仓库。

在IntelliJ IDEA 中,可以通过以下步骤配置 Maven 仓库:1.打开 IntelliJ IDEA,选择"File" > "Settings"。

2.在设置窗口中,选择"Build, Execution, Deployment" > "Build Tools" > "Maven"。

3.在 Maven 设置页面中,选择"Repository"选项卡。

4.点击"Add"按钮,添加一个新的仓库。

可以添加本地仓库、远程仓库等。

5.配置仓库的详细信息,如名称、地址、用户名、密码等。

4.创建 Maven 项目在 IntelliJ IDEA 中,可以通过以下步骤创建 Maven 项目:1.打开 IntelliJ IDEA,选择"Create New Project"。

maven之respository(仓库)本地路径修改

maven之respository(仓库)本地路径修改
由于maven2依赖于maven项目所以在执行mvncleancompile命令之前需要先进入maven项目根目录执行mvninstall命令详情可看maven之cleaninstall命令
maven之 respository(仓库)本地路径修改
maven默认的仓库路径.m2\repository),这样如果系统出问题或其他原因会造成仓库损坏,因此会自 己配置仓库路径。 1、首先找到你的maven下的setting.xml文件(我的在D:\apache-maven-3.3.9\conf下) 2、打开找到
<localRepository>/path/to/local/repo</localRepository>
将其中路径修改成你要建仓的路径(我的D:\maven_respository) <localRepository>D:/maven_respository</localRepository>
3、进入maven2项目根目录maven2,执行mvn clean compile
注:由于maven2依赖于maven项目,所以在执行mvn clean compile命令之前,需要先进入maven项目根目录执行mvn install命令(详情可 看)

maven安装、本地仓库路径设置以及仓库配置

maven安装、本地仓库路径设置以及仓库配置

maven安装、本地仓库路径设置以及仓库配置maven安装以及配置确保JAVA_HOME环境变量已设置并指向JDK 安装1.Windows下安装1.1 下载maven,在apache官⽅⽹站可以下载。

1.2 解压⽂件,设置本地仓库路径1.2.1 我的解压位置,根据⾃⼰情况进⾏设置C:\MyProgram\apache-maven-3.8.11.2.2 定义本地仓库路径默认路径:${user.home}/.m2/repository,如:C:\Users\Administrator\.m2\repository⾃定义路径:C:\MyProgram\maven\repository1.2.3 设置本地仓库路径和添加国内镜像修改 C:\MyProgram\apache-maven-3.8.1\conf\settings.xml设置本地仓库路径:<localRepository>C://MyProgram//maven//repository</localRepository>设置阿⾥的中央仓库:<mirrors><mirror><id>nexus-aliyun</id><mirrorOf>*</mirrorOf><name>Nexus aliyun</name><url>/nexus/content/groups/public</url><blocked>true</blocked></mirror></mirrors>1.3 设置系统环境变量新建环境变量名:MAVEN_HOME,变量值:C:\MyProgram\apache-maven-3.8.1编辑环境变量Path,添加 %MAVEN_HOME%\bin⾄此,maven已经安装完成1.4 验证⽤win键+R,来打开命令⾏提⽰符窗⼝,输⼊mvn --version 若出现以下情况说明配置成功2.Linux下安装2.1 下载mavencd /usr/local && wget https:///apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz 2.2 解压tar xzvf apache-maven-3.8.1-bin.tar.gz2.3 添加环境变量export PATH=/usr/local/apache-maven-3.8.1/bin/mvn/bin:$PATH2.4 验证若没有安装jdk环境,会提⽰:[root@service-01 local]# mvn -versionwhich: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)The JAVA_HOME environment variable is not defined correctlyThis environment variable is needed to run this programNB: JAVA_HOME should point to a JDK not a JRE若安装成功,则如下所⽰:[root@service-01 local]# mvn -versionApache Maven 3.0.5 (Red Hat 3.0.5-17)Maven home: /usr/share/mavenJava version: 1.8.0_282, vendor: Red Hat, Inc.Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64/jreDefault locale: en_US, platform encoding: UTF-8OS name: "linux", version: "3.10.0-693.2.2.el7.x86_64", arch: "amd64", family: "unix"2.5 设置本地仓库路径修改 /usr/local/apache-maven-3.8.1/conf/settings.xml⽂件,修改内容请参考上⽂。

idea如何添加 indexed maven repositories-概述说明以及解释

idea如何添加 indexed maven repositories-概述说明以及解释

idea如何添加indexed maven repositories-概述说明以及解释1.引言1.1 概述概述部分的内容可以参考以下写作思路:概述部分旨在介绍和概括本文的主要内容,即向读者提供关于"如何添加indexed maven repositories"的基本背景信息。

下面是一个示例:概述:在软件开发过程中,使用Maven进行项目管理和依赖管理已经成为一种非常普遍的做法。

Maven使用中央仓库来存储和分发各种项目依赖的库文件。

然而,中央仓库并不能满足所有项目的需求,有时候我们需要从其他第三方仓库或者私有仓库中获取依赖。

这就引出了一个问题:如何向Maven添加indexed maven repositories(索引化的Maven仓库)以方便我们更好地管理和使用这些第三方或私有仓库中的依赖?本文将详细介绍什么是indexed maven repositories,为什么我们要添加它们以及它们的重要性。

同时,我们还将探讨如何添加indexedmaven repositories以及如何使用它们来解决项目依赖管理中遇到的问题。

在本文的正文部分中,我们将深入讨论indexed maven repositories 的概念、作用和优势,并与传统的中央仓库进行比较。

我们将分享一些添加indexed maven repositories的方法和技巧,并举例说明如何配置和使用这些仓库。

最后,在结论部分,我们将总结indexed maven repositories的重要性,并提出进一步研究和应用的方向。

通过阅读本文,读者将能够更好地理解和掌握如何添加indexed maven repositories,从而改进和优化他们的项目依赖管理流程。

请继续阅读下文,我们将为您揭示这一信息的重要性和应用的潜力。

1.2 文章结构本文的结构主要分为引言、正文和结论三个部分。

引言部分对文章的背景和目的进行介绍。

maven setting.xml说明

maven setting.xml说明

maven setting.xml说明
maven settings.xml 是 Maven 的全局配置文件,其中包含类似本地仓储位置、修改远程仓储服务器、认证信息等配置。

它通常存在于以下两个位置:
- 全局配置:${maven.home}/conf/settings.xml。

- 用户配置:${user.home}/.m2/settings.xml。

在这两个位置中,用户配置会优先于全局配置。

${user.home}和所有其他系统属性只能在 Maven 3.0+版本上使用。

请注意,在 Windows 和 Linux 系统中使用变量时可能会存在区别。

配置的优先级如下:
- 局部配置优先于全局配置。

- 配置优先级从高到低:pom.xml > user settings > global settings。

如果这些文件同时存在,在应用配置时,会合并它们的内容,如果有重复的配置,优先级高的配置会覆盖优先级低的。

关于maven中pom和settings的配置

关于maven中pom和settings的配置

Maven1.Maven主要功能:构建项目(Builds)文档编制(Documentation)报告(Reporting)依赖管理(Dependencies)配置管理(SCMs)发布管理(Releases)2.Maven基本命令创建Maven目录mvn archetype:create -DgroupId=com.yourCompanyName-DartifactId=yourAppName测试mvn test编译类mvn compile打包mvn package生成Sitemvn site清除mvn clean以上命令都是在command窗口运行的.它们还可以混合运行,如mvn test compile package3.Maven的生命周期及其与之对应的命令:validate:验证工程是否正确,所有需要的资源是否可用。

compile:编译项目的源代码。

test-compile:编译项目测试代码。

test:使用已编译的测试代码,测试已编译的源代码。

package:已发布的格式,如jar,将已编译的源代码打包。

integration-test:在集成测试可以运行的环境中处理和发布包。

verify:运行任何检查,验证包是否有效且达到质量标准。

install:把包安装在本地的repository中,可以被其他工程作为依赖来使用deploy:在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。

generate-sources:产生应用需要的任何额外的源代码,如xdoclet。

、4.pom.xml的结构上面就是前次HelloMaven工程的pom.xml文件,我们可以通过修改其中的元素使工程按照我们的意图运行,对于接触Maven的人,主要就是和pom.xml文件在打交道.pom.xml文件基本节点介绍:<project>:文件的根节点.<modelversion>:pom.xml使用的对象模型版本.<groupId>:创建项目的组织或团体的唯一Id.<artifactId>:项目的唯一Id,可视为项目名.<packaging>:打包物的扩展名,一般有JAR,WAR,EAR等<version>:产品的版本号.<name>:项目的显示名,常用于Maven生成的文档。

几个好用Maven镜像仓库地址

几个好用Maven镜像仓库地址
</mirror>
3、 maven的 UK镜像
<mirror> <id>ui</id> <name>Mirror from UK</name> <url>/maven2/</url> <mirrorOf>central</mirrorOf>
</mirror>
4、 JBoss 镜像
网络错误503请刷新页面重试持续报错请尝试更换浏览器或网络环境
几像
<mirror> <id>nexus-aliyun</id> <name>Nexus aliyun</name> <url>/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf>
</mirror>
<mirror> <id>jboss-public-repository-group</id> <mirrorOf>central</mirrorOf> <name>JBoss Public Repository Group</name> <url>/nexus/content/groups/public</url>
</mirror>
2、 maven官方 2号镜像
<mirror> <id>repo2</id> <name>Mirror from Maven Repo2</name> <url>/maven2/</url> <mirrorOf>central</mirrorOf>

请归纳本地仓库在maven项目构建过程中的作用

请归纳本地仓库在maven项目构建过程中的作用

请归纳本地仓库在maven项目构建过程中的作用Maven是一个流行的项目管理工具,它被广泛用于Java项目的构建和管理。

在Maven构建过程中,本地仓库是一个非常重要的组成部分。

本文将介绍本地仓库在Maven项目构建过程中的作用,并探讨如何管理和维护本地仓库。

一、什么是本地仓库本地仓库是Maven用于存储项目依赖关系的本地存储库。

当您构建Maven项目时,Maven会自动下载所需的依赖项并将它们存储在本地仓库中。

这样,下次构建相同的项目时,Maven可以从本地仓库中获取依赖项,而不必再次下载。

本地仓库通常位于计算机的本地文件系统中,并包含Maven所需的所有依赖项和插件。

当您构建Maven项目时,Maven会首先检查本地仓库中是否有所需的依赖项。

如果本地仓库中没有所需的依赖项,Maven将从远程仓库中下载它们。

二、本地仓库在Maven项目构建中的作用本地仓库在Maven项目构建中扮演着至关重要的角色。

以下是本地仓库在Maven项目构建中的作用:1. 提高构建速度本地仓库可以提高Maven项目构建的速度。

当您构建Maven项目时,Maven会首先检查本地仓库中是否有所需的依赖项。

如果本地仓库中已经有所需的依赖项,Maven将直接从本地仓库中获取它们,而不必再次下载。

这样可以大大减少构建时间,提高构建效率。

2. 离线构建本地仓库还可以支持离线构建。

如果您处于离线状态,无法连接到远程仓库,但您需要构建Maven项目,本地仓库可以提供所需的依赖项和插件,使您能够在离线状态下构建项目。

3. 管理依赖项本地仓库还可以帮助您管理项目依赖项。

当您构建Maven项目时,Maven会自动下载所需的依赖项并将它们存储在本地仓库中。

这样,您可以轻松地管理和维护项目依赖项,并确保项目的依赖项始终是最新的。

4. 支持多个项目本地仓库可以支持多个Maven项目。

每个项目都可以使用本地仓库中的相同依赖项和插件,而不必在每个项目中重复下载相同的依赖项和插件。

常用Maven仓库地址

常用Maven仓库地址

常⽤Maven仓库地址版权声明:本⽂为博主原创⽂章,遵循版权协议,转载请附上原⽂出处链接和本声明。

本⽂链接:</div><!--⼀个博主专栏付费⼊⼝--><!--⼀个博主专栏付费⼊⼝结束--><link rel="stylesheet" href="https:///release/phoenix/template/css/ck_htmledit_views-833878f763.css"><div id="content_views" class="markdown_views prism-atom-one-dark"><!-- flowchart 箭头图标勿删 --><svg xmlns="/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg><p>在使⽤ Nexus 搭建⾃⼰的 Maven 仓库时,我们需要为⼀些公共的 Maven 仓库做镜像,这就需要这些仓库的真实地址了,下⾯是这些仓库的地址:</p>仓库名称仓库地址gradle 引⽤⽅式jcenter jcenter()mavenCentral或(⽐较慢)mavenCentral()google google()阿⾥云或maven {url ‘阿⾥地址’}windows: C:\Users\⽤户名\.gradle\caches\modules-2\files-2.1OSX: /Users/⽤户名/.gradle/caches/modules-2/files-2.1如果你使⽤了 Android Studio ⾃带的 gradle 那么,xxx\android-studio\gradle\gradle-版本号\caches\modules-2\files-2.1 下也有⼤量库⽂件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设置Maven 仓库1. 介绍Maven 是Java 开发者中流行的构建工具,Maven 的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的副本,Maven 建议的方法是将所有软件构件存储于一个叫做repository 的远程仓库中。

Maven 会从 中的公用仓库中同步构件,这个公用仓库下载缓慢、不稳定,并且不包含一些构件的最新版本,而且不能上传团队私有的构件。

通过设置内部Maven 仓库,团队可以更有好地利用Maven 仓库的优势并且克服使用ibiblio 上的仓库时的缺点。

本文着眼于Maven 仓库工具应提供的一些功能,列出了选择Maven 仓库工具的标准,说明了使用Artifactory 设置Maven 仓库的相关步骤。

在Linux 和Windows 中设置Maven 仓库的过程是相同的,少数不同点在文中已经用高亮显示,本文列出了与这个Maven 仓库的使用有关的POM 文件的范例,用截图来向用户阐述如何设置Maven 仓库,Maven 和artifactory 配置范例也有列出。

1.1 背景知识本文假定读者熟悉以下的概念和技术:Maven 2J2EE web服务器部署过程(e.g.在Tomcat中部署Web应用程序)XML1.2 Maven 仓库的目的Maven仓库的目的是作为团队内所使用的所有软件构件的内部私有构件仓库,将Maven构件(jar和pom)存储到一个专门的Maven仓库比将它们存储到版本控制系统中更有优势,这是因为:构件(jar)是二进制文件,不属于版本控制系统,版本控制系统在处理文本文件方面比较好保持较小的版本控制数据库Checkout、update 和其他版本控制的操作可以更快1.3 建立内部私有仓库的优势:减少可能的版本冲突减少首次构建时需要的手动干涉中央仓库包含所有依赖的软件构件,引用单一的中央仓库比引用多个独立的本地库要好使用内部仓库做clean构建时会快些,因为Maven 构件是从内部服务器而不是从因特网上的ibiblio 服务器获取。

1.4 Maven 构件库的类型本地仓库--- 位于开发者的机器,由开发者维护,它从位于‘ ~home/.m2目录的‘ sett in gs.xm文件中定义的Mave n仓库上同步,如果在pom.xml或setting.xml 文件中没有设置内部私有远程仓库,那么开发者机器上的这个本地仓库就会从 上的公用Maven 仓库上同步。

内部私有远程仓库——这是我们将要设置的仓库,我们将改变maven 的pom.xml 或settings.xml 文件来使用这个库。

外部公用远程仓库——这是在 上的外部公用仓库,默认情况下,Maven 从这个仓库上同步。

2. Maven 仓库概览2.1 没有Maven 仓库下的开发环境Intranet InternetDeveloper 1Oeveloper 2Publicmavenrepository atrbiblio Developer 32.2具有团队内部远程仓库的开发环境Developer 33. 本教程Maven 仓库的用例介绍在内部仓库中创建 2个子库Ibiblio 缓存’Ibiblio-cache ' -------- 用于存储从 中下载的构件,可以公开访问,它将从外部的 ibiblio 仓库中同步 内部仓库internal-maven-repository--------- 用于存储团队内部的构件,它不与任何外部仓库同步,是团队专有的构件库 可以创建另一个子仓库,这是可选的,用于存储那些公用的但是在 ibiblio 上暂时没有的构件,例如一些构件的新最版本,这个仓库不与内部仓库同步。

我们可以称它为第三方 ‘ 3r (party '浏览远程库,最好是通过一个 web 浏览器在仓库中搜索构件从版本控制系统中下载代码,修改settings.xml 指向内部仓库并且做一次没有任何手工干涉的clean 构建Intranet InternetDeveloper 1Public maven repository at i bibl ioDeveloper 2reposrtory向仓库中安装一个构件的新版本向仓库中大批导入构件从仓库中大批导出构件手动备份仓库,设置定时自动备份任务4. Maven仓库工具的选择标准理想的Maven仓库工具应该:开放源码并且免费提供管理工具提供仓库浏览器一一最好是web浏览器而不是桌面应用程序可以部署到标准web服务器中例如Apache或Tomcat 创建、编辑、删除子库的能力批量导入/导出的工具,用来向构件库或从构件库移动构件访问控制工具和匿名只读访问安装和使用简单备份功能问题追踪,论坛或其他独立的信息来源活跃的社区/开发者,这样产品才能改进,bug才能修正5. 不同Maven仓库工具的比较一些流行且免费的Maven仓库工具有:标准Maven 代理codehaus ----- / Dead simple Maven Proxy (DSMP) - http://www.pdark.de/dsmp/Proximity - /Artifactory - /sites/artifactory/latest/研究过以上所有产品之后得出结论,Artifactory拥有我们要的所有标准。

Proximity看样子也有许多我们要的特性,我们将着眼于Artifactory的使用。

关于Artifactory的其他方面:符合我们的需求Apache 2.0 许可运行于JDK 1.6和Tomcat 6。

Artifactory以‘ wa文件形式部署到Tomcat使用Derby数据库来存储构件,数据以一个已发布的知名的格式存储所有构件可以被批量导出到本地库然后导入到其他库,因而易于将构件从一个仓库工具移到另一个,它也使得Maven库的升级非常容易兼容Java Content Repository 标准(JSR-170。

使用Lucene作为搜索引擎,仓库可以被索引和重新索引Ajax界面易于定制界面使用JIRA作为问题追踪系统6. 设置Maven仓库6.1软件需求Artifactory ------ 从 /sites/artifactory/latest/ 下载和安装,当前最新版本是1.2.1-rc1 , Artifactory 是一个可以被安装到Tomcat 中去的Web 应用程序JDK 1.6 -更多信息请参阅 /sites/artifactory/latest/install.html Tomcat 6 6.2目录结构下载和解压artifactory 。

目录结构如下:这些目录是:backup ―― 仓库的备份,可以使用cron表达式设置备份策略,quartz定时调度程序在指定的时间里运行备份任务,备份时间间隔在'ARTIFACTORY_INSTALLATION_FOLDER>/etc/artifactory.config文件中指定'bin ------- 内置jetty服务器的运行批处理文件data ----- 包含derby数据库文件,如果你想以一个空的构件库开始,可以删除这个目录中的所有内容,在全新的artifactory安装中,这个目录是空的。

etc ------- artifactory 的配置文件,有‘ artifactory.config.xml、’jetty.xm和‘ Iog4j.,properties 'lib -------- 包含所有依赖的jar文件logs ----- 日志文件webapps ------- 包含war文件,它可以被拷贝到Tomcat中安装。

6.2在Tomcat 6中部署部署’<ARTIFACTORY_INSTALLATION_FOLDER>/wei目录中的war 文件到’<TOMCAT_INSTALLATION_FOLDER>/webapp录中,在jdk1.6 和Tomcat 6 环境下不需要改变tomcat的配置,Tomcat 6会检测并部署它。

当这个Web应用程序被部署的时候,需要这些信息:保存构件的数据库的位置artifactory 的xml配置文件的位置备份目录的位置可以在一个配置文件中指定所有3个信息,在Tomcat启动期间我们只需要指定artifactory的安装目录,artifactory会计算出其余的信息。

可选的方法是使用jdbc设置好derby数据库的连接并且在Web应用程序中配置好artifactory (通过在Web应用程序中包含artifactory.config.xml文件)。

不管怎样,这个方法是简单的。

artifactory安装目录的位置可以被设置为一个环境变量,在Linux中,用‘ .bas来输出artifactory安装目录的位置的脚本是:export JAVA OPTS = -Dartifactory.home=/home/ama ngat/artifactory-1.2.1-rc1在Windows中,可以添加到Tomcat启动选项中:6.3设置Maven仓库建议的方法是在我们的Maven仓库中创建3个库(或子库),它们是:内部私有仓库private-internal-repository :这个仓库包含仅在团队内使用的构件,它们由开发者手动上传,这个仓库不与因为这个仓库(或子仓库)中的构件是团队私有的。

第三方库3rd-party :这个仓库包含公有的但不在ibiblio服务器上的构件,例如,最新版本的尚不在ibiblio的组件或步,因为ibiblio 没有这些jar。

Ibiblio 缓存Ibiblio-cache :这个仓库与ibiblio 仓库同步,它是ibiblio 上的构件的缓存。

ibiblio中的远程仓库同步,jdbc驱动。

这个仓库不与ibiblio同设置这三个仓库,需要修改<ARTIFACTORY_INSTALLATION_FOLDER>/etc/artifactory.co nfig.xr中的配置:<co nfig xml ns:xsi="/ 2001/XMLSchema-i nsta nee" xml ns="/xsd/1.0.0"xsi:schemaLocatio n="/xsd/1.0.0/xsd/artifactory-v1_0_0.xsd"><!-- Backup every 12 hours --><!--<backupCro nExp>0 0 /12 * * ?</backupCro nExp>--> <localRepositories><localRepository><key>private-i ntern al-repository</key><description>Private internal repository</description> <ha ndleReleases>true</ha ndleReleases><ha ndleS napshots>true</ha ndleS napshots></localRepository><localRepository><key>3rd-party</key><description>3rd party jars added manually</description> <ha ndleReleases>true</ha ndleReleases><ha ndleS napshots>false</ha ndleS napshots></localRepository></localRepositories><remoteRepositories><remoteRepository><key>ibiblio</key><ha ndleReleases>true</ha ndleReleases><ha ndleS napshots>false</ha ndleS napshots> vexcludesPatter n>o rg/artifactory/**,org/jfrog/**</excludesPatter n> <url>http://repo1.mave n.o rg/mave n2</url></remoteRepository></remoteRepositories></c on fig>启动 Tomcat 并且输入 http://localhost:8080/artifactor 下面是artifactory 的首页面:以用户名admin 和密码password登录,点击浏览仓库的链接,你可以查看仓库的内容。

相关文档
最新文档