Maven创建工程项目如何下载所需要的jar包

永利皇宫网址 12
  • 登录 | 注册
  •  

  •  

转自:

zhengsj的专栏

 

 

 

  • 永利皇宫网址 1目录视图
  • 永利皇宫网址 2摘要视图
  • 永利皇宫网址 3订阅

【公告】博客系统优化升级
    【收藏】Html5 精品资源汇集     博乐招募开始啦    

 

  Maven包的下载路径:

Maven Dependency设置,详解!

标签:
mavenhibernatejargooglenetbeansjbuilder

2009-09-25 10:18 30736人阅读
评论(6)
收藏
举报

永利皇宫网址 4 分类:

工具文章(4) 永利皇宫网址 5

come from :

用了Maven,所需的JAR包就不能再像往常一样,自己找到并下载下来,用IDE导进去就完事了,Maven用了一个项目依赖
(Dependency)的概念,用俗话说,就是我的项目需要用你这个jar包,就称之为我的项目依赖你这个包,换句话说,你这个JAR包就是我这个项目
的Dependency。

     
于是很多人在刚用Maven的时候,就会在加Dependency时栽跟头,明明我手头上就有需要的JAR嘛,它偏不让我用,什么道理,跟着就是生闷气,
少点耐性的,就会说Maven怎么怎么不爽,其实,如果你理解了Maven的一些机制,一些配置及管理的流程,就会觉得它其实很爽。

     
我暂且不谈Maven的长篇概念(其实我也还很多很多不懂),我先给大家介绍一个简单的查找方法,让你很快地找到所需的Dependency,并配置到你的pom.xml里面去。

最快捷方法:

GOOGLE搜索:maven 你需的jar包名称 repository

比如我要做EJB,我要找jboss-j2ee.jar的Dependency

就在GOOGLE里输入

maven jboss-j2ee repository

在结果的第一条,进去你就可以在页面里找到下面这段

<dependency>
    <groupId>jboss</groupId>
    <artifactId>jboss-j2ee</artifactId>
    <version>4.0.2</version>
</dependency>

你把上面这段代码贴到你的Maven项目的pom适当的位置去,然后运行maven,Maven就会自动下载所需的jar及相关的pom信息,你不用管它,Maven会帮你下载,并放到适当的位置。

我再举几个查找实例,让大家熟悉一下怎么搜索

下面我要找 struts.jar

在GOOGLE里输入

maven struts repository

就很快可以找到下面这段代码

<dependency>
    <groupId>struts</groupId>
    <artifactId>struts</artifactId>
    <version>1.2.9</version>
</dependency>

我还要找hibernate

在GOOGLE输入

maven hibernate repository

在结果的第一条记录出现了很多个不同的hibernate链接(因为有很项目用了hibernate嘛)我们就选用org.hibernate的,看起来专业点嘛,呵呵

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.2.6.ga</version>
</dependency>

好了,SSH可不能少了中间那个S,Spring嘛

在GOOGLE里输入

maven spring repository

在第一个结果进去,我们这次选择org.springframework的,

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring</artifactId>
    <version>2.5.5</version>
</dependency>

     
其它的我就不一一举例了,大家自己试试,其实这个方法可以解决大多数常用包的Dependency查找,不用专门记那些repository下载站的网址
嘛,不过始终这是非正规做法,其它要想更好地找到想要的Dependency,还是得了解maven
repository是啥玩意,它的local
repository库概念,以及怎样建立自己自己repository服务器(这个我还不太熟,这里就不讲了,大家自己去其它地方找相关资料,免得被我
误导了)

     
Maven的repository,说白了就是dependency的仓库,它按照一定的规则将dependency存放起来,以作缓存,如果本机的
repository找不到某个dependency,它就会自动去找到网上其它相关联的repository,找到的话将其下载至本地,那么下次它就不
再去其它地方下载了,直接从本地获取。

本地的repository在哪可找到?

默认repository地址:当前用户的私人目录 + .m2

如果你设置了Maven目录下的conf/setting.xml的local
repository属性,则不再是默认的repository地址,而使用你指定的地址。

找到下面这段,将它复制一份,放到注释外面,改成你自己的repository路径即可

<localRepository>c:/mvn repository/</localRepository>

Maven按什么规则去存放Dependency?

下面我们来拿hibernate来作例子,以介绍在Maven运行并下载到所需的Dependency后怎么缓存到本地的repository

下面这个是hibernate的Dependency配置

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.2.6.ga</version>
</dependency>

它被下载后将会被存放至

%repository%/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.jar

其中%repository%就是你本地的repository目录!

不知大家看出来了没有,它是按你的Dependency的groupid + artifactid +
version,然后以点号作分隔,来建立文件夹的,最后建立的文件夹如下

|–org

    |–hibernate

        |–hibernate

            |–3.2.6.ga

                |–hibernate-3.2.6.ga.jar

可能会有些人会问那个jar包的名字是怎么来的,细心的人或许早己观察出来了,没错,就是artifactId

  • “-” + version + “.jar”。

好了,下面我们按这个规则去找一下另外一个Dependency放在哪吧

<dependency>

    <groupId>com.google.gwt</groupId>

    <artifactId>gwt-servlet</artifactId>

    <version>1.4.61</version>

</dependency>

我们现在根据之前所讲的规则,先进入你的本地repository目录,然后进入com目录,再进入google目录,再进入gwt目录,再进入
gwt-servlet目录,再进入1.4.61目录,跟着你就可以发现一个名叫gwt-servlet-1.4.61.jar和其它一些文件了大家试试
看吧!《注意:你在首次使用这个Dependency时,一定要运行Maven,让它去下载到需要的包,下载成功后你才能按上面的步骤找到,不然你找不到
别乱骂我,你都没下载的话,肯定找不到了:(       》

     
在你掌握这个技巧之后,有很多时候你可以根据所需包的package路径,自己摸它的Dependency,这个就不详谈了,总之你了解后,找Dependency不会成问题的,非常简单的事

     
这个时候,就有另一些用户会提出疑问,我要用的jar包是我自己开发的,或是朋友,或是网友传来的,在网上根据找不到,怎么在Maven里面使用它们呢?
其实办法是肯定有的,而且也不难,也是常常要用到的,下面我来简单介绍一下几个方法:

前提,肯定是你先写到pom里面去,组织随你写,artifact
写你的jar名,或者随便写,version你也写上你想要的,如

<dependency>

    <groupId>com.mydomain.ooooo</groupId>

    <artifactId>my-jar</artifactId>

    <version>100.1.1</version>

</dependency>

一、用好你的IDE!

     
现在大家用的IDE,无非就是Eclipse,或者netbeans,或是JBuilder,据我所知,现在大部份人都向前两者转移,这些IDE都提供了
对Maven的支持,不过通常都需要你装插件才能打开并使用Maven的项目,怎么装maven插件我就不介绍了,大家自己上网找找别人写的文章吧。在你
装好插件后,通常会有一个libraies目录,里面列出你项目要用到的jar包,你右键点击本地还没有添加进去的jar包,选择本地安装
(Manually install
artifact),选中你那个特殊的jar包,然后IDE会自动调用maven插件完成整个安装配置过程,下次你就不再这样子做了,因为你本地
repository己经有了。

二、手动将jar包放到本地repository里面去

根据先前介绍的maven
repository存放规则,自己建好目录,改好jar的文件名,自己拷进去,如

进到你本地的repository目录

建一个com文件夹,点进去

再建一个mydomain文件夹,点进去

再建一个ooooo文件夹,点进去

再建一个my-jar文件夹,点进去

再建一个100.1.1文件夹,点进去

再把你的jar包,改名为my-jar-100.1.1.jar,放到100.1.1文件夹里面去,

      
然后运行你的maven项目,看看它会不会build成功,事实上如果你之前做的文件夹没错,大小写没问题,或没其它小失误,你的项目就可以正常用到你自己的jar包了

三、直接到 查找

      不过这也需要你知道maven
repository的存放规则才知道怎么在网站上找,找到你还得自己写dependency的配置代码,本人不常来这里找。不过各有所好,大家选择合适自己的

 


3


0

 

 

  • 上一篇Selenium
    使用介绍
  • 下一篇Maven的基本原理和Maven2的新特性

我的同类文章

工具文章(4)

  • Checkstyle4.4
    结合Eclipse配置使用2010-01-19阅读**4612**
  • linux
    查看文件内容的命令2009-09-30阅读**293**

  • Oracle UTL_FILE
    用法例子2009-10-14阅读**1906**
  • Maven的基本原理和Maven2的新特性2009-09-25阅读**1827**

 

猜你在找

Spring4&Struts2;.3&Hibernate4;
整合案例视频SpringMVC Spring
Hibernate框架整合视频Maven+Struts2+Spring4+Hibernate4+Bootstrap客户关系系统视频不求人,自己实现spring
IOC框架SpringMVC视频,全网首发

用Gradle
构建你的android程序用Gradle
构建你的android程序webx小结轻量级多线程网络爬虫搭建ZooKeeper服务器集群

 

查看评论

6楼 hqf2009 2016-07-18 16:13发表 [回复]
永利皇宫网址 6

写得很好!

5楼 zhuojiajin 2014-12-19 19:52发表 [回复]
永利皇宫网址 7

也不知道哪里写错了,不起效果。

4楼 shiyingzhan 2014-05-13 18:07发表 [回复]
永利皇宫网址 8

很好

3楼 fonglibin 2013-10-18 17:26发表 [回复]
永利皇宫网址 9

偶然用到maven的项目,配置POI.xml最麻烦了,谢谢楼主哈

2楼 雨霖铃Sunny 2013-09-27 08:50发表 [回复]
永利皇宫网址 10

详解,感谢楼主带来好的东西!

1楼 KE107478210 2011-07-19 09:21发表 [回复]
永利皇宫网址 11

不错不错,呵呵呵~~~

您还没有登录,请[登录]或[注册]

* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

 

 

 

安装maven

核心技术类目

全部主题 Hadoop
AWS 移动游戏
Java Android
iOS Swift
智能硬件
Docker
OpenStack
VPN Spark
ERP IE10
Eclipse
CRM
JavaScript
数据库
Ubuntu
NFC WAP
jQuery
BI HTML5
Spring
Apache
.NET API
HTML SDK
IIS
Fedora
XML LBS
Unity
Splashtop
UML
components Windows
Mobile
Rails
QEMU KDE
Cassandra
CloudStack
FTC
coremail
OPhone
CouchBase
云计算
iOS6
Rackspace Web
App
SpringSide
Maemo
Compuware
大数据
aptech
Perl
Tornado
Ruby
Hibernate
ThinkPHP
HBase
Pure
Solr
Angular Cloud
Foundry
Redis
Scala
Django
Bootstrap

 

永利皇宫网址 12
zhengsj

 

 

  • 访问:176444次
  • 积分:1815
  • 等级:
    永利皇宫网址 13
  • 排名:第15309名

  • 原创:12篇
  • 转载:46篇
  • 译文:0篇
  • 评论:17条

 

  • oracle(7)
  • 工具文章(5)
  • 测试(0)
  • 项目工具(0)

  • 2010年01月(1)

  • 2009年12月(1)
  • 2009年11月(1)
  • 2009年10月(8)
  • 2009年09月(4)

展开

  • Maven
    Dependency设置,详解!(30724)
  • No row with the given identifier
    exists(18516)
  • oracle数据库表结构导出(10463)
  • error prj0003 不能生成
    cl.exe的解决方法(8119)
  • Java内部类(Inner
    Class)详解(7614)
  • ClassNotFoundException: org.apache.catalina.loader.DevLoader
    问题解决方法一(5890)
  • 从服务器端彻底删除SVN版本库中部分文件夹或文件(5302)
  • Java性能优化的策略和常见方法(5241)
  • jMock Cookbook
    中文版一(5133)
  • oracle
    查看主外键约束(4971)

  • Maven
    Dependency设置,详解!(6)
  • No row with the given identifier
    exists(5)
  • Java内部类(Inner
    Class)详解(3)
  • hibernate 未明确定义列
    小记(1)
  • jMock Cookbook
    中文版三(1)
  • oracle
    查看主外键约束(1)
  • Checkstyle4.4
    结合Eclipse配置使用(0)
  • Yahoo提高网站性能34条最佳实践三(0)
  • Yahoo提高网站性能34条最佳实践二(0)
  • 转 推荐两个 Google
    的开源项目(0)

  • *Android RocooFix
    热修复框架
  • * android6.0源码分析之Camera
    API2.0下的初始化流程分析
  • *Android_GestureDetector手势滑动使用
  • *Android
    MaterialList源码解析
  • *Android官方开发文档Training系列课程中文版:创建自定义View之View的创建

  • Maven
    Dependency设置,详解!

    hqf2009: 写得很好!

  • Maven
    Dependency设置,详解!

    zhuojiajin:
    也不知道哪里写错了,不起效果。

  • Maven
    Dependency设置,详解!

    shiyingzhan: 很好

  • Maven
    Dependency设置,详解!

    fonglibin:
    偶然用到maven的项目,配置POI.xml最麻烦了,谢谢楼主哈

  • jMock Cookbook
    中文版三

    u010433605:
    好像还没有完。能补上吗?谢谢!

  • Maven
    Dependency设置,详解!

    雨霖铃Sunny:
    详解,感谢楼主带来好的东西!

  • 永利皇宫网址,hibernate 未明确定义列
    小记

    kk_lucky: 谢谢,帮我解决了问题

  • No row with the given identifier
    exists

    yisshengyouni: 谢谢了

  • No row with the given identifier
    exists

    lixiaoyao129:
    太谢谢了。解决了这个问题。。

  • No row with the given identifier
    exists

    wk417301568:
    学习了。出现这个错误有好几种可能,数据字段不对应,也会出现。

 

 

公司简介|招贤纳士|广告服务|银行汇款帐号|联系方式|版权声明|法律顾问|问题报告|合作伙伴|论坛反馈

网站客服杂志客服微博客服webmaster@csdn.net400-600-2320|北京创新乐知信息技术有限公司 版权所有|江苏乐知网络技术有限公司
提供商务支持

京 ICP 证 09002463 号|Copyright © 1999-2014,
CSDN.NET, All Rights
Reserved 永利皇宫网址 14

永利皇宫网址 15

 

2 Maven创建项目工程架构的命令

进入commond line,cd到一个目录 

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp 

cd 到项目目录my-webapp下。

mvn package
mvn eclipse:eclipse

打开eclipse,导入。

3 Maven下载所需jar包的方法

用了Maven,所需的JAR包就不能再像往常一样,自己找到并下载下来,用IDE导进去就完事了,Maven用了一个项目依赖 (Dependency)的概念,用俗话说,就是我的项目需要用你这个jar包,就称之为我的项目依赖你这个包,换句话说,你这个JAR包就是我这个项目的Dependency。 
      于是很多人在刚用Maven的时候,就会在加Dependency时栽跟头,明明我手头上就有需要的JAR嘛,它偏不让我用,什么道理,跟着就是生闷气,少点耐性的,就会说Maven怎么怎么不爽,其实,如果你理解了Maven的一些机制,一些配置及管理的流程,就会觉得它其实很爽。 
      我暂且不谈Maven的长篇概念(其实我也还很多很多不懂),我先给大家介绍一个简单的查找方法,让你很快地找到所需的Dependency,并配置到你的pom.xml里面去。 
最快捷方法: 
GOOGLE搜索:maven 你需的jar包名称 repository 
比如我要做EJB,我要找jboss-j2ee.jar的Dependency 

就在GOOGLE里输入 
maven jboss-j2ee repository 
在结果的第一条,进去你就可以在页面里找到下面这段 
<dependency> 
    <groupId>jboss</groupId> 
    <artifactId>jboss-j2ee</artifactId> 
    <version>4.0.2</version> 
</dependency> 

你把上面这段代码贴到你的Maven项目的pom适当的位置去,然后运行maven,Maven就会自动下载所需的jar及相关的pom信息,你不用管它,Maven会帮你下载,并放到适当的位置。 
我再举几个查找实例,让大家熟悉一下怎么搜索 
下面我要找 struts.jar 

在GOOGLE里输入 

maven struts repository 

就很快可以找到下面这段代码 

<dependency> 
    <groupId>struts</groupId> 
    <artifactId>struts</artifactId> 
    <version>1.2.9</version> 
</dependency> 

我还要找hibernate 

在GOOGLE输入 

maven hibernate repository 

在结果的第一条记录出现了很多个不同的hibernate链接(因为有很项目用了hibernate嘛)我们就选用org.hibernate的,看起来专业点嘛,呵呵 

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate</artifactId> 
    <version>3.2.6.ga</version> 
</dependency> 

好了,SSH可不能少了中间那个S,Spring嘛 

在GOOGLE里输入 

maven spring repository 

在第一个结果进去,我们这次选择org.springframework的, 

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring</artifactId> 
    <version>2.5.5</version> 
</dependency> 

      其它的我就不一一举例了,大家自己试试,其实这个方法可以解决大多数常用包的Dependency查找,不用专门记那些repository下载站的网址嘛,不过始终这是非正规做法,其它要想更好地找到想要的Dependency,还是得了解maven repository是啥玩意,它的local repository库概念,以及怎样建立自己自己repository服务器(这个我还不太熟,这里就不讲了,大家自己去其它地方找相关资料,免得被我误导了) 

      Maven的repository,说白了就是dependency的仓库,它按照一定的规则将dependency存放起来,以作缓存,如果本机的 repository找不到某个dependency,它就会自动去找到网上其它相关联的repository,找到的话将其下载至本地,那么下次它就不再去其它地方下载了,直接从本地获取。 

本地的repository在哪可找到? 

默认repository地址:当前用户的私人目录 + .m2 

如果你设置了Maven目录下的conf/setting.xml的local repository属性,则不再是默认的repository地址,而使用你指定的地址。 

找到下面这段,将它复制一份,放到注释外面,改成你自己的repository路径即可 

<localRepository>c:\mvn repository\</localRepository> 

Maven按什么规则去存放Dependency? 

下面我们来拿hibernate来作例子,以介绍在Maven运行并下载到所需的Dependency后怎么缓存到本地的repository 

下面这个是hibernate的Dependency配置 

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate</artifactId> 
    <version>3.2.6.ga</version> 
</dependency> 

它被下载后将会被存放至 

%repository%\org\hibernate\hibernate\3.2.6.ga\hibernate-3.2.6.ga.jar 

其中%repository%就是你本地的repository目录! 

不知大家看出来了没有,它是按你的Dependency的groupid + artifactid + version,然后以点号作分隔,来建立文件夹的,最后建立的文件夹如下 

|–org 

    |–hibernate 

        |–hibernate 

            |–3.2.6.ga 

                |–hibernate-3.2.6.ga.jar 

可能会有些人会问那个jar包的名字是怎么来的,细心的人或许早己观察出来了,没错,就是artifactId + “-” + version + “.jar”。 

好了,下面我们按这个规则去找一下另外一个Dependency放在哪吧 

<dependency> 

    <groupId>com.google.gwt</groupId> 

    <artifactId>gwt-servlet</artifactId> 

    <version>1.4.61</version> 

</dependency> 

我们现在根据之前所讲的规则,先进入你的本地repository目录,然后进入com目录,再进入google目录,再进入gwt目录,再进入 gwt-servlet目录,再进入1.4.61目录,跟着你就可以发现一个名叫gwt-servlet-1.4.61.jar和其它一些文件了大家试试看吧!《注意:你在首次使用这个Dependency时,一定要运行Maven,让它去下载到需要的包,下载成功后你才能按上面的步骤找到,不然你找不到别乱骂我,你都没下载的话,肯定找不到了:(       》 

      在你掌握这个技巧之后,有很多时候你可以根据所需包的package路径,自己摸它的Dependency,这个就不详谈了,总之你了解后,找Dependency不会成问题的,非常简单的事 

      这个时候,就有另一些用户会提出疑问,我要用的jar包是我自己开发的,或是朋友,或是网友传来的,在网上根据找不到,怎么在Maven里面使用它们呢? 其实办法是肯定有的,而且也不难,也是常常要用到的,下面我来简单介绍一下几个方法: 

前提,肯定是你先写到pom里面去,组织随你写,artifact 写你的jar名,或者随便写,version你也写上你想要的,如 

<dependency> 

    <groupId>com.mydomain.ooooo</groupId> 

    <artifactId>my-jar</artifactId> 

    <version>100.1.1</version> 

</dependency> 

一、用好你的IDE! 

      现在大家用的IDE,无非就是Eclipse,或者netbeans,或是JBuilder,据我所知,现在大部份人都向前两者转移,这些IDE都提供了对Maven的支持,不过通常都需要你装插件才能打开并使用Maven的项目,怎么装maven插件我就不介绍了,大家自己上网找找别人写的文章吧。在你装好插件后,通常会有一个libraies目录,里面列出你项目要用到的jar包,你右键点击本地还没有添加进去的jar包,选择本地安装(Manually install artifact),选中你那个特殊的jar包,然后IDE会自动调用maven插件完成整个安装配置过程,下次你就不再这样子做了,因为你本地 repository己经有了。 

二、手动将jar包放到本地repository里面去 

根据先前介绍的maven repository存放规则,自己建好目录,改好jar的文件名,自己拷进去,如 

进到你本地的repository目录 

建一个com文件夹,点进去 

再建一个mydomain文件夹,点进去 

再建一个ooooo文件夹,点进去 

再建一个my-jar文件夹,点进去 

再建一个100.1.1文件夹,点进去 

再把你的jar包,改名为my-jar-100.1.1.jar,放到100.1.1文件夹里面去, 

       然后运行你的maven项目,看看它会不会build成功,事实上如果你之前做的文件夹没错,大小写没问题,或没其它小失误,你的项目就可以正常用到你自己的jar包了 

三、直接到 查找 

      不过这也需要你知道maven repository的存放规则才知道怎么在网站上找,找到你还得自己写dependency的配置代码,本人不常来这里找。不过各有所好,大家选择合适自己的

4 Maven常用命令

mvn compile 
编译主程序源代码,不会编译test目录的源代码。第一次运行时,会下载相关的依赖包,可能会比较费时。

mvn test-compile 
编译测试代码,compile之后会生成target文件夹,主程序编译在classes下面,测试程序放在test-classes下。

mvn test
运行应用程序中的单元测试

mvn site
生成项目相关信息的网站

mvn clean
清除目标目录中的生成结果

mvn package
依据项目生成 jar 文件,打包之前会进行编译,测试。

mvn install
在本地 Repository 中安装 jar。

mvn eclipse:eclipse
生成 Eclipse 项目文件及包引用定义,注意,需确保定义Classpath Variables: M2_REPO,指向本地maven类库目录。

5 Eclipse中配置Maven

加入M2_REPO

    进入Eclipse->preferences->java->build path->classpath variables,添加M2_REPO这个变量,指向C:/Documents and Settings/userName/.m2/repository,这个路径是默认的Maven仓库,如果你想搬到其他地方,需要修改maven\conf\setting.xml里面的localRepository。

配置String Substitution

    通过配置String Subsitution我们就可以使用Eclipse的lanuch来启动Maven,而不是Eclipse插件启动。首先我们要告诉Eclipse Maven在哪里。配置Eclipse->preferences->Run/Debug->String Subsitution,加入mvn = D:/dotj_dev/tools/apache-maven-2.2.1/bin/mvn.bat。

 

留下个:m2Eclipse插件,安装Maven

    

发表评论

电子邮件地址不会被公开。 必填项已用*标注