Maven将作为一个普通的构建系统,被人们重新认识,并且它将超越Java技术。
Maven自动编译打包构件前曾经更改过的类,因此您不必担心这一点。
这个Groovy巡演中的下一站是把它装配进构建过程,特别是放在我的maven.xml文件中。
Maven引入了JAR文件公共存储库的概念,可通过公开的Web服务器访问(称为ibiblio)。
那么,您已经得到了一个精心编织的Maven项目,并且希望在单元测试(或者至少在一组测试中)中测试Jester。
Maven是一个标准,一个知识库格式,是一个管理和描述项目的软件。
回望一下,你或许会说可能就是这些基因的遗传就命中注定了科比天生就是块打篮球的好材料。
为了更好地理解Maven和传统构建工具的不同,我们来看看构建一个JAR文件和一个EAR文件的过程。
完全摈弃Ant或Maven,整个构建过程都使用Groovy,在这个例子中,这样做有点极端。
下载maven库和构建ShindigWAR文件需要一些时间,要稍等一会。
Ant只是一个XML脚本工具,而Maven是一个普通的构建工具,它关注的重点是一个叫做项目对象模型(POM)的概念。
同Maven、Rails和AppFuse一样,Grails会建立一个标准的目录结构。
所以如果Eclipse中的依赖关系有问题,就在项目上至少运行一次Maven来校正缺少的库。
用Maven的WAR插件替换类、配置或其他资源听起来是个很糟糕的主意。
安装了Maven和Subversion,就可以继续安装Geronimo源码并用其构建系统。
对于大多数Java开发人员来说,JAR文件及其“近亲”WAR和EAR都只不过是漫长的Ant或Maven流程的最终结果。
要解决这一问题,我们必须重新设置maven-war-plugin的一项缺省配置,该设置如下面的清单3所示。
使用Maven配置文件让您完成这些任务,而无需为每个环境分别建立明确指令。
不使用Maven,每个依赖关系都需要与示例应用程序绑定在一起。
Maven脚本还允许将应用程序自动部署到正在运行的Geronimo服务器中。
Global项目中,maven-war-plugin重写了Warsaw项目的文件,而没有任何确认对话框或警告信息。
读完本教程,您会理解并欣赏Maven2背后的设计理念。
首先,需要ApacheMaven——一个自动化项目的构建、报告及文档建立的软件项目管理工具。
渐渐地,一些工具开始假定某些特性可以完全并且顺利地集成在一起,Maven和Eclipse(即使作为一个简单的IDE)也不例外。
使用XQuery,只需几行代码就可以从您的MavenPOM文件检索有价值的信息。
最为重要的是,您将可以把Maven2应用到日常的项目构建和管理活动中。
该存储库可以是简单的HTTP服务器、ApacheMaven存储库或Subversion存储库,并通过URL进行引用。