maven初学

如何在idea中设置该项目独立的本地仓库和maven设置

1、在你想存放仓库(repository)的目录下创建repository(仓库)文件夹,和setting.xml设置文件夹。我这次为了方便知道这个仓库是独属于这个项目的,所以就建在了该项目的目录下。

创建方式如下图:

2、打开setting.xml文件,配置maven信息。


<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

    <pluginGroups />

    <proxies />

    <servers />

    <localRepository>D:\ideaProjects\svn\test_spring_cloud\repository</localRepository>

    <mirrors>

        <mirror>

            <id>alimaven</id>

            <mirrorOf>central</mirrorOf>

            <name>aliyun maven</name>

            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>

        </mirror>

        <mirror>

            <id>alimaven</id>

            <name>aliyun maven</name>

            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

            <mirrorOf>central</mirrorOf>

        </mirror>

        <mirror>

            <id>central</id>

            <name>Maven Repository Switchboard</name>

            <url>http://repo1.maven.org/maven2/</url>

            <mirrorOf>central</mirrorOf>

        </mirror>

        <mirror>

            <id>repo2</id>

            <mirrorOf>central</mirrorOf>

            <name>Human Readable Name for this Mirror.</name>

            <url>http://repo2.maven.org/maven2/</url>

        </mirror>

        <mirror>

            <id>ibiblio</id>

            <mirrorOf>central</mirrorOf>

            <name>Human Readable Name for this Mirror.</name>

            <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>

        </mirror>

        <mirror>

            <id>jboss-public-repository-group</id>

            <mirrorOf>central</mirrorOf>

            <name>JBoss Public Repository Group</name>

            <url>http://repository.jboss.org/nexus/content/groups/public</url>

        </mirror>

        <mirror>

            <id>google-maven-central</id>

            <name>Google Maven Central</name>

            <url>https://maven-central.storage.googleapis.com

            </url>

            <mirrorOf>central</mirrorOf>

        </mirror>

        <!-- אҫӖࠢ՚אںք޵б -->

<!--

        <mirror>

            <id>maven.net.cn</id>

            <name>oneof the central mirrors in china</name>

            <url>http://maven.net.cn/content/groups/public/</url>

            <mirrorOf>central</mirrorOf>

        </mirror>

-->

<mirror>

<id>nexus-bailing</id>

<mirrorOf>central</mirrorOf>

<name>nexus-bailing repository</name>

<url>http://10.67.78.31:8081/repository/bailingRep-group/</url>

    </mirror>

    </mirrors>

</settings>

这里面配置的有比较全的或内镜像,可以按照喜好选取(最后一个是公司的镜像)

其中第一个配置localRepository标签时需要修改的,这里面的目录要修改成repository仓库的目录。这样就把配置文件和仓库地址映射起来了。

3、配置idea,使项目、maven和setting文件映射起来

打开idea按下快捷键ctrl+alt+s打开设置面板

搜索maven

按照图示配置:


其中第一行是maven程序安装的地址

第二行是我们需要映射的setting文件地址,第三行会自动换成setting同级目录下的repository文件,所以就不用管了。

这样这个项目就通过idea进行了maven,setting,仓库直接独立的映射了。该项目以后就会根据这个配置和仓库运行。



maven默认仓库和自己设置的独立仓库的设置

当我们在需要手动下载jar包并需要导入本地仓库时,就要用到maven默认仓库,因为导入的jar包只会进入默认仓库。导入的方式下面将。

那么如何设置现在项目使用的maven仓库时默认的仓库呢?

首先进入maven的安装目录下的conf文件夹下,如图:


在这里面修改setting文件中的仓库地址,就是把默认的仓库地址给修改了,以后在进行手动导入jar包进入目标仓库,就要先把默认仓库修改为目标仓库地址。




手动下载jar包并导入进本地仓库

1、先根据上文设置好默认仓库

2、根据idea的maven提示起冲突的详细jar包名记录下来

3、去网上手动下载该jar包

4、启用管理员角色运行cmd

5、输入命令

mvn install:install-file

-Dfile=D:\jarTest\spring-cloud-netflix-eureka-server-1.3.0.RC1.jar

-DgroupId=org.springframework.cloud

-DartifactId=spring-cloud-starter-eureka-server

-Dversion=1.3.0.RC1

-Dpackaging=jar

-DgeneratePom=true

注意:

在cmd中输入时每行的代码在复制进去时要有空格(每行直接的代码拼接时有几个空格就行)

其中

-Dfile 为你下载好的jar包所存在的路径

-DgroupId 为groupId

-DartifactId 为artifactId

-Dversion 为版本号

-Dpackaging 为导入格式,是jar包就写jar

6、如果cmd运行后表示成功,可以去仓库看一下,如果导入进去了就是成功了。

7、进入idea看jar包还有没有报错(有时需要重启一下idea才会消失)



进阶

项目依赖

如果使用的项目是有依赖关系的,比如manager管理项目和sysUser用户端项目使用公用的common项目提供的service。

那么首先你要在pom文件中引入common的jar包,表示依赖common项目。

在你的程序能成功跑通之后,要编译打包上线。你在package commom项目后,再去package manager项目时原本信心满满的以为要成功。但是会发现package manager竟然会报错,而且你的项目时正常的。这时候你就会比较无语了。

因为你package manager项目时是使用pom的jar包引入依赖的,它肯定回去寻找maven仓库中的commom jar包,而你并没有把common项目打入maven仓库,只是package在idea上显示了jar包。所以它并找不到这个commom项目。但是程序跑起来是会动态编译所有子项目的,就不去寻找maven仓库的jar包了,所以程序可以跑起来,但是单独打包会报错。

那么如何打包manager呢?首先你要将最新的commom项目打入maven仓库。maven也提供了简便的命令,就是install。install比packge更高级,它在打包好项目后还要安装项目,也就是打入maven仓库。所以要现在packge manager之前install它所依赖的common项目。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容