- 浏览: 2159790 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
sunzeshan:
找了很久,用了这个插件解决问题啦。谢谢
eclipse jetty debug source not found -
xiaosong0112:
您好,请问为什么要这样设置呢,原理是什么?在网上很多转帖都没有 ...
maven的jetty插件提示No Transaction manager found导致启动慢的解决方法 -
eimhee:
tjzx 写道畅搜谷歌:http://dian168.cc/打 ...
Google 镜像站搜集 -
tjzx:
畅搜谷歌:http://dian168.cc/打开的是“最火源 ...
Google 镜像站搜集 -
eimhee:
finallygo 写道你这属于"头痛医头脚痛医脚& ...
解决linux下too many file问题
用了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包了
三、直接到http://repo1.maven.org/maven2/ 查找
不过这也需要你知道maven repository的存放规则才知道怎么在网站上找,找到你还得自己写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包了
三、直接到http://repo1.maven.org/maven2/ 查找
不过这也需要你知道maven repository的存放规则才知道怎么在网站上找,找到你还得自己写dependency的配置代码,本人不常来这里找。不过各有所好,大家选择合适自己的
发表评论
-
MySQLNonTransientConnectionException: No operations allowed
2015-05-19 16:47 2323最近在调试会发现“ No operations allow ... -
mysql 执行计划优化
2013-04-07 17:46 1536一条简单的SQL 语句竟花了15.87 sec, ... -
ThreadLocal 引起的内存泄露
2012-10-18 17:48 2410最近在用LOADRUNNER做性能测试, 运行几个小时后, ... -
lucene 反向索引原理
2012-07-20 12:47 1987lucene是一个高性能的全文搜索工具, 使用反向索引结构。 ... -
tomcat7在UBUNTU上自动启动
2012-06-11 12:55 2759为了让tomcat自动启动当电脑重起时, 你必须添加一个脚本, ... -
hadoop中的Writable分析
2012-06-07 11:27 3365hadoop 要使一个类能序例化, 要实现Writabl ... -
在UBUNTU安装NUTCH(十个简单的步骤)
2012-06-06 17:32 4015下面十个步骤能安装Nutch, 并且能爬行你的网站, 创建你自 ... -
深入Lucene的索引文件
2012-02-01 16:50 6875Lucene的索引里面存了些什么,如何存放的,也即Luc ... -
EasyMock and IllegalStateException
2012-01-31 15:09 1334When writing a portlet and tryi ... -
Java Enum的原理
2011-05-03 09:19 1818Java Enum 类型的语法结构尽管和 java 类的语法不 ... -
用JAXB从对象生成XML
2011-04-26 08:54 2980import java.io.FileOutputStream ... -
jdk6 WebService入门
2011-03-10 23:04 3385一、 Web Services简介 ... -
dom4j处理超大XML
2010-12-26 23:35 4841英文原文 : http://dom4j.sourceforge ... -
httpclient3 自动登陆淘宝, 开心网
2010-11-09 22:09 10000前提:需要用到的java包 commons-httpclien ... -
Lucene实时索引构建
2010-11-06 23:11 7419Lucene可以增量的添加一 ... -
分享Java并发最佳书籍Java Concurrency in Practice Java并发最佳书籍 下载
2010-10-21 08:31 13439好久没有上来更新过了,最近在学习线程池实现,参考了 Tomc ... -
Spring Hibernate3 配置 C3P0
2010-10-15 00:31 7556由于Hibernate3不推荐使用DBCP, 所以把连接池换成 ... -
将依赖包加入到本地maven库
2010-07-22 16:47 2890要将依赖包加入到本地maven库 mvn instal ... -
Inner Join with hibernate and HQL
2010-07-18 12:24 2175String queryStri ... -
ORACLE 分组 排序出前面最大的N行
2010-07-02 09:18 1651select custid,carid,Cunote,INV ...
相关推荐
《Maven的Dependency详解》 在软件开发过程中,依赖管理是一项关键任务,尤其是在Java领域,Maven通过其强大的依赖管理机制简化了这一过程。Maven的Dependency是项目构建中的核心概念,它允许开发者声明项目所需的...
### Maven 教程知识点详解 #### 一、简介 **1.1 什么是 Maven?** Maven 是 Apache 软件基金会支持的一款自动化构建工具,主要用于 Java 项目的构建、依赖管理和项目信息管理。 **1.2 Maven 的优势和作用** - *...
### Maven自动化构建工具知识点详解 #### 一、Maven简介 **Maven**是一款由Apache基金会维护的自动化构建工具,其主要目标在于简化Java项目的构建流程,并提供一套标准化的依赖管理和构建过程。通过Maven,开发者...
**Maven POM配置详解** POM(Project Object Model)是Apache Maven的核心概念,它是一个项目对象模型,用于描述一个Maven项目的所有相关信息。POM是通过XML格式编写的,并且通常命名为`pom.xml`,位于项目根目录下...
### Maven基本命令详解 Maven 是一款非常强大的 Java 项目构建工具,它通过一系列的预定义生命周期和插件,简化了项目的构建、依赖管理和部署等工作。本文将对 Maven 的一些常用基本命令进行详细介绍。 #### 1. ...
在软件开发领域,Maven是一个广泛使用的项目管理和综合工具,主要负责构建、依赖管理和项目信息管理。本示例将深入探讨Maven中的“依赖”、“继承”和“聚合”这三个核心概念,帮助开发者更好地理解和应用Maven。 ...
《依赖路径Maven插件详解》 在Java开发领域,Maven作为一款强大的构建工具,因其优秀的项目管理和依赖管理能力而被广泛使用。在实际开发过程中,有时我们需要为项目的依赖项设置指向项目文件的属性,这时`...
MavenDependencyCheck 在基于Maven的项目上运行的自动化脚本。 该脚本基本上克隆给定的存储库,并使用maven构建它们。 成功后,它将对它们进行依赖性检查并生成报告要求Python模块: & Maven:安装说明可在找到包含...
这个名为"java短信接口jar-maven依赖名称详解.zip"的压缩包正是为了解决这个问题,它包含了Java短信接口的jar包以及Maven项目的相关依赖信息。下面将详细介绍这两个关键知识点。 **1. Java短信接口jar包** Java...
【 Maven Dependency Source Scanner 开源详解】 Maven Dependency Source Scanner(MDSS)是一个开源工具,它在Java开发领域中扮演着重要角色,特别是在依赖管理方面。这个工具的核心功能是通过分析项目的源代码、...
**Maven Helper IDEA 插件详解** Maven Helper是一款针对IntelliJ IDEA(简称Idea)开发的强大插件,主要用于优化Maven项目管理和构建过程。它提供了多种实用功能,帮助开发者更高效地处理Maven依赖关系,排查冲突...
Maven SSH 实例详解 在Java开发领域,Maven和SSH(Spring、Struts、Hibernate)是两个非常重要的工具和框架。Maven是一个项目管理和综合工具,它帮助开发者管理项目的构建、依赖关系以及报告。SSH则是一种流行的...
### Maven POM详解 Maven 是一款非常强大的自动化构建工具,它通过一组生命周期构建规则,对软件项目构建、依赖管理等进行统一管理。POM(Project Object Model)是 Maven 的核心概念之一,它是一个 XML 文件,包含...
### Maven安装及配置详解 #### 一、Maven概述与优势 Maven是Apache软件基金会的一个开源项目,作为一款优秀的项目构建工具,它能够帮助开发者有效地管理项目中的jar包及jar包之间的依赖关系,同时也支持项目的编译...
### Maven介绍及配置详解 #### 一、Maven概述 Maven是由Apache软件基金会支持的一款项目管理和理解工具,主要用于Java项目的构建与管理。Maven通过一个中心信息来管理项目的构建、报告和文档,大大简化了Java项目...
【使用Maven搭建S2SH工程详解一:创建Struts2工程】 在Java Web开发中,S2SH架构(Struts2 + Spring + Hibernate)是一种常见的应用框架组合,用于构建高效、灵活的企业级应用程序。本篇文章主要讲解如何利用Maven...
#### 二、Maven配置详解 ##### POM文件解析 1. **基础配置**:`modelVersion`定义了POM文件的版本,通常为4.0.0。 ```xml <modelVersion>4.0.0 ``` 2. **父项目依赖**:项目继承自`cn.itcast.parent`项目,...
【Maven的依赖验证项目】是一个关于Maven项目管理和依赖管理的实践案例,它与CSDN博主songdeitao的一篇文章《Maven依赖管理详解》相关联。在这个项目中,我们将深入理解Maven如何处理项目的依赖关系,以及如何有效地...
Maven 依赖管理机制详解 Maven 依赖管理是 Maven 项目管理中一个非常重要的部分,它控制着项目中各个依赖项的版本和关系。今天,我们将详细介绍 Maven 依赖管理机制中的两个重要概念:dependencies 和 dependency...