Maven的多模块与继承.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Maven的多模块和继承-----光远 (草拟)1使用maven创建工程1.1创建一个简单的java应用mvn archetype:create -DgroupId=[your projects group id] -DartifactId=[your projects artifact id]1.2创建一个简单的web工程mvn archetype:create -DgroupId=[your projects group id] -DartifactId=[your projects artifact id] -DarchetypeArtifactId=maven-archetype-webapp1.3创建一个简单的site站点mvn archetype:create -DgroupId=[your projects group id] -DartifactId=[your projects artifact id] -DarchetypeArtifactId=maven-archetype-site-simple1.4创建一个MOJO(插件开发)mvn archetype:create -DgroupId=[your projects group id] -DartifactId=[your projects artifact id] -DarchetypeArtifactId=maven-archetype-mojo1.5创建一个portlet(web组件开发)mvn archetype:create -DgroupId=[your projects group id] -DartifactId=[your projects artifact id] -DarchetypeArtifactId=maven-archetype-portlet1.6 Maven构建项目常用命令–mvn test:运行应用程序中的单元测试;–mvn package:依据项目打包生成jar、war等文件;–mvn install:将项目的jar文件添加到库中,以备依赖此项目时使用;–mvn site:生成项目相关信息的网站;–mvn clean:清除目标目录中的生成结果;–mvn eclipse:eclipse:生成Eclipse项目文件;2项目的继承实际项目中,可能正要构建一个大型的系统,但又不想一遍又一遍的重复同样的依赖元素,这种情况是经常出现的。不过还好,maven提供了继承机制,项目可以通过parent元素使用继承,可以避免这种重复。当一个项目声明一个parent的时候,它从父项目的POM中继承信息。它也可以覆盖父POM中的值,或者添加一些新的值。当一个项目指定一个父项目的时候,Maven在读取当前项目的POM之前,会使用这个父POM作为起始点。它继承所有东西,包括groupId和version。有了parent元素,一个POM就只需要定义一个artifactId。但这不是强制的,可以有一个不同的groupId和version,但如果不提供值,Maven就会使用在父POM中指定的值。如果开始使用Maven来管理和构建大型的多模块项目,你就会常常创建许多共享一组通用的groupId和version的项目。 当继承一个POM,可以选择直接使用继承的POM信息,或者选择覆盖它。一个Maven POM从它父POM中可以继承定义符(groupId和artifactId中至少有一个必须被覆盖) 、依赖、开发者和贡献者、插件列表、报告列表、插件执行 (id匹配的执行会被合并)、插件配置。当Maven继承依赖的时候,它会将父项目中定义的依赖添加到子项目中。可以使用Maven的这一特征来指定一些在所有项目被广泛使用的依赖,让它们从顶层POM中继承。例如,如果系统全局使用Log4J日志框架,可以在你顶层POM中列出该依赖,任何从该项目继承POM信息的项目会自动拥有Log4J依赖。类似的,如果能确定每个项目都在使用同样版本的一个Maven插件,可以在顶层父POM的pluginManagement元素中显式的列出该Maven插件的版本。 Maven假设父POM在本地仓库中可用,或者在当前项目的父目录(../pom.xml) 中可用。如果两个位置都不可用,默认行为还可以通过relativePath元素被覆盖:3项目的多模块一个现实生活中的Maven项目只有一个POM文件,那是不现实的。典型的项目会和数据库交互,和Web Service交互,有自己的业务逻辑,暴露Web Service,有命令行应用程序,有Web应用程序……这个时候,必须分一下模块,松散耦合,清晰关联,增加重用等。多模块项目是那些包含一系列待构建模块的项目,一个多模块项目的打包类型总是pom,很

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档