
maven3实战
fhd001
这个作者很懒,什么都没留下…
展开
-
maven3实战之maven的安装和配置
maven3实战之maven的安装和配置---------- 1.检查JDK安装在安装maven之前,首先要确认你已经正确安装了JDK。maven可以运行在JDK1.4及以上的版本上。本书的所有样例都基于JDK5及以上版本。打开windows的命令行,运行如下的命令来检查Java安装:echo %JAVA_HOME%java -version上述命令首先检查环境量JAV...2011-06-18 08:50:11 · 215 阅读 · 0 评论 -
maven3实战之坐标和依赖(依赖调解)
maven3实战之坐标和依赖(依赖调解)-----------maven引入的传递性依赖机制,一方面大大简化和方便了依赖声明,另一方面,大部分情况下我们只需要关心项目的直接依赖是什么,而不用考虑这些直接依赖会引入什么传递性依赖。但有时候,当传递性依赖造成问题的时候,我们就需要清楚地知道该传递性依赖是从哪条依赖路径引入的。 例如,项目A有这样的依赖关系 : A-->B--...2011-06-19 18:38:52 · 160 阅读 · 0 评论 -
maven3实战之坐标和依赖(可选依赖)
maven3实战之坐标和依赖(可选依赖)----------假设有这样一个依赖关系,项目A依赖于项目B,项目B依赖于项目X和Y,B对于X和Y的依赖都是可选依赖:A-->B,B-->X(可选),B-->Y(可选)。根据传递性依赖的定义,如果所有这三个依赖的范围都是compile,那么X,Y就是A的compile范围传递性依赖。然而,由于这里X,Y是可选依赖,依赖将不会...2011-06-19 19:39:57 · 122 阅读 · 0 评论 -
maven3实战之坐标和依赖(最佳实践之排除依赖)
maven3实战之坐标和依赖(最佳实践之排除依赖)---------- 传递性依赖会给项目隐式地引入很多依赖,这极大地简化了项目依赖的管理。但是有些时候这种特性也会带来问题。例如,当前项目有一个第三方依赖,而这个第三方依赖由于某些原因依赖了另外一个类库的SNAPSHOT版本,那么这个SNAPSHOT就会成为当前项目的传递性依赖,而SNAPSHOT的不稳定性会直接影响到当前的项目。这时候...2011-06-20 06:19:32 · 167 阅读 · 0 评论 -
maven3实战之坐标和依赖(最佳实践之归类依赖)
maven3实战之坐标和依赖(最佳实践之归类依赖)---------- 假如有个项目有很多关于SpringFramework的依赖,它们分别是org.springframework:spring-core:2.5.6、org.springframework:spring-bean:2.5.6、org.springframework:spring-context:2.5.6,它们是...2011-06-21 06:19:16 · 206 阅读 · 0 评论 -
maven3实战之坐标和依赖(最佳实践之优化依赖)
maven3实战之坐标和依赖(最佳实践之优化依赖)---------- 在软件开发过程中,程序员会通过重构等方式不断地优化自己的代码,使其变得更简洁、更灵活。同理,程序员也应该能够对maven项目的依赖了然于胸,并对其进行优化,如去除多余的依赖,显式地声明某些必要的依赖。 maven会自动解析所有项目的直接依赖和传递性依赖,并且根据规则判断每个依赖的范围,对于一些依赖冲突...2011-06-22 01:12:30 · 127 阅读 · 0 评论 -
maven3实战之仓库(maven仓库介绍)
maven3实战之仓库(maven仓库介绍)----------1.何为Maven仓库maven可以在某个位置统一存储所有maven项目共享的构件,这个统一的位置就是仓库。实际的Maven项目将不会各自存储其依赖文件,它们只需要声明这些依赖的坐标,在需要的时候(例如,编译项目的时候需要将依赖加入到classpath中),maven会自动根据坐标找到仓库中的构件,并使用它们。为了实现重用,项目构建完...原创 2011-10-08 18:55:47 · 136 阅读 · 0 评论 -
maven3实战之仓库(maven仓库分类)
maven3实战之仓库(maven仓库分类)----------对于maven来说,仓库只分为两类:本地仓库和远程仓库。当maven根据坐标寻找构件的时候,它首先会查看本地仓库,如果本地仓库存在此构件,则直接使用;如果本地仓库不存在此构件,或者需要查看是否有更新的构件版本,maven就会去远程仓库查找,发现需要的构件之后,下载到本地仓库再使用。如果本地仓库和远程仓库都没有需要的构件,maven就会...原创 2011-10-08 20:07:48 · 171 阅读 · 0 评论 -
maven3实战之仓库(远程仓库的配置)
maven3实战之仓库(远程仓库的配置)----------在很多情况下,默认的中央仓库无法满足项目的需求,可能项目需要的构件存在于另外一个远程仓库中,如:JBoss,Maven仓库。这时,可以在POM中配置该仓库,见代码请单: <project> ... <repositories> <repository> ...原创 2011-10-11 20:57:11 · 518 阅读 · 0 评论 -
maven3实战之仓库(快照版本)
maven3实战之仓库(快照版本)----------在Maven的世界中,任何一个项目或者构件都必须有自己的版本。版本的值可能是1.0.0,1.3-alpha-4,2.0,2.1-SNAPSHOT或者2.1-20091214.221414-13。其中,1.0、1.3-alpha-4和2.0是稳定的发布版本,而2.1-SNAPSHOT和2.1-20091214.221414-13是不...原创 2011-10-12 18:39:51 · 278 阅读 · 0 评论 -
maven3实战之仓库(从仓库解析依赖的机制)
maven3实战之仓库(从仓库解析依赖的机制)----------Maven是根据怎样的规则从仓库解析并使用依赖构件的呢?当本地仓库没有依赖构件的时候,Maven会自动从远程仓库下载。当依赖版本为快照版本的时候,Maven会自动找到最新的的快照。这背后的依赖解析机制可以概括如下:1.当依赖的范围是system的时候,Maven直接从本地文件系统解析构件。2.根据依赖坐标计...原创 2011-10-12 19:53:54 · 223 阅读 · 0 评论 -
maven3实战之仓库(镜像)
maven3实战之仓库(镜像)----------如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y获得的构件,都胡够从它的镜像中获取。举个例子,http://maven.net.cn/content/groups/public/ 是中央仓库http://repo1.maven.org/maven2/ 在中国的镜像,由于地理位置的因...原创 2011-10-13 11:05:58 · 171 阅读 · 0 评论 -
maven3实战之坐标和依赖(传递性依赖)
maven3实战之坐标和依赖(传递性依赖)---------- 1.何为传递性依赖假如有一个account-email项目,该项目有一个org.springframework:spring-core:2.5.6的依赖,而实际上spring-core也有它自己的依赖,我们可以直接访问位于中央仓库的该构件的POM: http://repo1.maven.org/maven2/org/s...2011-06-19 18:12:34 · 143 阅读 · 0 评论 -
maven3实战之坐标和依赖(依赖范围)
maven3实战之坐标和依赖(依赖范围)----------maven在编译项目主代码的时候需要使用一套classpath。假如,在编译项目主代码的时候需要用到spring-core,该文件以依赖的方式被引入到classpath中。其次,maven在编译和执行测试代码的时候会使用另外一套classpath。如:JUnit就是一个很好的例子,该文件也以依赖的方式引入到测试使用的clas...2011-06-19 17:35:00 · 147 阅读 · 0 评论 -
maven3实战之安装目录分析
maven3实战之安装目录分析---------- 1.M2_HOME前面讲到设置M2_HOME环境变量指向maven的安装目录,本书之后所有使用M2_HOME的地方都指代了该安装目录。下面看一下该目录的结构和内容:binbootconflibLICENSE.txtNOTICE.txtREADME.txt bin目录:该目录包含了mvn运行的...2011-06-18 10:03:21 · 118 阅读 · 0 评论 -
maven3实战之设置HTTP代理
maven3实战之设置HTTP代理---------- 有时候你所在的公司基于安全因素考虑,要求你使用通过安全认证的代理访问因特网。这种情况下,就需要为Maven配置HTTP代理,才能让它正常访问外部仓库,以下载所需要的资源。首先确认自己无法直接访问公共的maven中央仓库,直接运行命令ping repo1.maven.org可以检查网络。如果真的需要代理,先检查一下代理服务器是否畅通...2011-06-18 10:35:47 · 321 阅读 · 0 评论 -
maven3实战之maven安装最佳实践
maven3实战之maven安装最佳实践---------- 1.设置MAVEN_OPTS环境变量前面介绍maven安装目录时我们了解到,运行mvn命令实际上是执行java命令,既然是运行java,那么运行java命令可用的参数当然也应该在运行mvn命令时可用。这个时候,MAVEN_OPTS环境变量就能派上用场。通常需要设置MAVEN_OPTS的值为:-Xms128m -Xm...2011-06-18 16:08:10 · 126 阅读 · 0 评论 -
maven3实战之maven使用入门(编写POM)
maven3实战之maven使用入门(编写POM)----------maven项目的核心是pom.xml。POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。如例,新建一个名为pom.xml的文件: <?xml version="1.0" encoding="UTF-8"?>...2011-06-18 17:21:41 · 277 阅读 · 0 评论 -
maven3实战之maven使用入门(编写主代码)
maven3实战之maven使用入门(编写主代码)---------- 项目主代码和测试代码不同,项目主代码会被打包到最终的构件中(如:jar,war),而测试代码只在运行测试时用到,不会被打包。默认情况下,maven假设项目主代码位于src/main/java目录。关于java代码有两点需要注意:首先,在绝大多数情况下,应该把项目主代码放到src/main/java/目录下(遵循...2011-06-18 17:44:34 · 228 阅读 · 0 评论 -
maven3实战之maven使用入门(编写测试代码)
maven3实战之maven使用入门(编写测试代码)---------- 为了使项目结构保持清晰,主代码与测试代码应该分别位于独立的目录中,maven项目中默认的主代码目录是:src/main/java,对应地,maven项目中默认的测试代码目录是:src/test/java。因此,在编写测试用例之前,应当先创建该目录。在java世界中,由kent beck和erich gamma...2011-06-18 18:24:50 · 152 阅读 · 0 评论 -
maven3实战之maven使用入门(打包和运行)
maven3实战之maven使用入门(打包和运行)---------- 将项目进行编译,测试之后,下一个重要步骤就是打包。pom.xml中如果没有指定打包类型,默认打包类型为:jar。我们可以简单地执行命令打包: mvn clean pachage。类似地,maven会在打包之前执行编译,测试等操作。如以打jar包为例,jar:jar任务负责打包,实际上就是jar插件的jar目标将...2011-06-18 19:48:14 · 139 阅读 · 0 评论 -
maven3实战之maven使用入门(使用archetype生成项目骨架)
maven3实战之maven使用入门(使用archetype生成项目骨架)---------- maven提供了archetype以帮助我们快速勾勒出项目骨架。以Hello World为例,我们使用maven archetype来创建该项目的骨架。 如果是maven3,简单地运行:mvn archetype:generate如果是maven2,最好运行如下命令:mv...2011-06-19 13:34:35 · 246 阅读 · 0 评论 -
maven3实战之坐标和依赖(何为maven坐标)
maven3实战之坐标和依赖(何为maven坐标)---------- maven的世界中拥有数量非常巨大的构件,也就是平时用的一些jar,war等文件。在maven为这些构件引入坐标概念之前,我们无法使用任何一种方式来唯一标识所有这些构件。maven定义了这样一组规则:世界上任何一个构件都可以使用maven坐标唯一标识,maven坐标的元素包括groupId,artifactId...2011-06-19 15:22:33 · 172 阅读 · 0 评论 -
maven3实战之坐标和依赖(坐标详解)
maven3实战之坐标和依赖(坐标详解)----------maven坐标为各种构件引入了秩序,任何一个构件都必须明确定义自己的坐标,而一组maven坐标是通过一些元素定义的,它们是groupId,artifactId,version,packaging,chassifier。先看一组坐标定义,如下: <groupId>org.sonatype.nexu...2011-06-19 16:08:55 · 173 阅读 · 0 评论 -
maven3实战之坐标和依赖(依赖的配置)
maven3实战之坐标和依赖(依赖的配置)----------依赖会有基本的groupId,artifactId和version等元素组成。其实一个依赖声明可以包含如下的一些元素: <project> ... <dependencies> <dependency> ...2011-06-19 16:42:46 · 172 阅读 · 0 评论 -
maven3实战之仓库(仓库搜索功能)
maven3实战之仓库(仓库搜索功能)----------使用Maven进行日常开发的时候,一个常见的问题就是如何寻找需要的依赖,我们可能只知道城垛 要使用类库的项目名称,但添加Maven依赖要求提供确切的Maven坐标。这时就可以使用仓库搜索服务来根据关键字得到Maven坐标。下面列了四个仓库搜索服务: 1.Sonatype Nexus地址:http://reposit...原创 2011-10-13 11:35:40 · 328 阅读 · 0 评论