JAE构建系统用户手册

上传人:hs****ma 文档编号:510227370 上传时间:2023-08-27 格式:DOC 页数:14 大小:170.02KB
返回 下载 相关 举报
JAE构建系统用户手册_第1页
第1页 / 共14页
JAE构建系统用户手册_第2页
第2页 / 共14页
JAE构建系统用户手册_第3页
第3页 / 共14页
JAE构建系统用户手册_第4页
第4页 / 共14页
JAE构建系统用户手册_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《JAE构建系统用户手册》由会员分享,可在线阅读,更多相关《JAE构建系统用户手册(14页珍藏版)》请在金锄头文库上搜索。

1、JAE构建系统用户手册Maven构建方式作者:桃谷更新时间:2013-10-21版本:0.2一、预热知识3二、术语解释3三、实现限制31. 不支持goal:install deploy32. 不提供官方的Maven仓库镜像43. 不提供全局(通用)Maven settings.xml文件44. Maven构建脚本文件(pom.xml)限制4四、可能的问题41. 不支持二方依赖42.无法获取三方依赖53. 非Maven依赖5五、解决方法51. 解决二方依赖52. 解决三方依赖73. 解决特殊依赖10一、预热知识如果您是第一次使用Maven,请首先学习以下资源:如果您已经学习或者已熟悉Maven的

2、工作原理以及使用方法,请忽略。二、术语解释二方依赖:是指独立于当前应用,由同一ISV开发的依赖资源三方依赖:有第三方开发的依赖资源,例如Apache Commons Language 三方类库(commons-lang:commons-lang:2.3:jar)Maven构建脚本文件:pom.xml文件三、实现限制JUAE平台支持Maven构建方式,支持最新Maven 3.0.5版本,由于特殊原因,做了以下限制:1. 不支持goal:install deploy 由于Maven构建在JUAE平台内部构建,多个应用可能在相同机器上面构建,为了防止多个应用工程相互冲突(多个应用groupId、ar

3、tifactId、version重复),同时也防止非法源码泄漏的问题(利用groupId、artifactId、version获取源码)。 未来很有可能支持ISV独立Maven独立仓库时,可以解除当前限制2. 不提供官方的Maven仓库镜像目前官方无法提供Maven仓库镜像未来很有可能支持ISV独立Maven独立仓库时,可以解除当前限制3. 不提供全局(通用)Maven settings.xml文件目前实现不支持他全局(通用)Maven settings.xml,尽管如此,应用开发者很有可能自行添加私有Maven仓库镜像配置到settings.xml文件中,这样,线下和线上的配置不一致,可能导

4、致应用工程源码线上构建时,无法获取第三方依赖。4. Maven构建脚本文件(pom.xml)限制Maven构建脚本文件(pom.xml)必须存放在应用工程的根目录下,并且文件名称必须为”pom.xml”四、可能的问题1. 不支持二方依赖 由于不支持install和deploy无法将二方应用依赖部署仓库中去,同时没有官方Maven仓库镜像,因此也无法下载相应的依赖2.无法获取三方依赖 由于官方无法提供Maven仓库镜像或者配置了私有Maven仓库地址,当应用工程源码线上构建时,无法获取第三方依赖3. 非Maven依赖 由于应用需要依赖无法从Maven仓库获取,或者压根就不存在五、解决方法1. 解

5、决二方依赖在上章中提到,构建系统不支持二方依赖。因此,可以通过将二方应用工程源码作为当前应用工程。例如:当前应用工程project-test其Maven原信息为:com.acemproject-test1.0.0所依赖二方jar包:common-service-2.0.0.jar,对应的Maven原信息为:moncommon-service2.0.0可common-service为二方应用工程,那么,如果要解决二方依赖的问题,解决的办法是:将common-service工程作为project-test的子模块。具体操作步骤如下:首先,将common-service工程目录复制到project-

6、test工程目录(请注意清理svn或者git元信息目录,防治版本控制混乱)然后,将common-service工程配置成project-test工程的子模块,在project-test工程pom.xml文件添加配置:. common-service . .最终,添加依赖管理配置: mon common-service 2.0.0 . 2. 解决三方依赖由于非官方公用Maven仓库稳定性无法保证,因此构建系统Maven settings.xml文件仅支持官方公共仓库,即默认仓库配置()。强烈推荐应用开发人员尽可能地使用官方仓库中的三方依赖配置。因此,在应用Maven工程构建(或迁移)时,尽可能地

7、在中央Maven仓库中搜索()。例如,应用工程依赖struts 2,因此,搜索关键字”struts”,其结果页为:http:/search.maven.org/#search%7Cga%7C1%7Cstruts查找版本等于2的结果记录:点击2的连接,进入配置详情页面:http:/search.maven.org/#artifactdetails%7Corg.apache.struts%7Cstruts-parent%7C2%7Cpom复制红色区域的内容到应用工程的Maven依赖配置区。如果第三方依赖无法在中央仓库获取的话,允许在应用工程pom.xml文件中,添加合理的仓库配置信息,例如: ib

8、iblio Ibiblio Maven Repository http:/www.ibiblio.org/maven2 default Slowly office site http:/ 3. 解决特殊依赖本节中的特殊依赖是指当无法从Maven仓库下载的依赖资源。幸运地是,Maven提供了自定义本地仓库方式处理特殊依赖问题。接下来,将详细介绍操作方法。Maven的仓库配置比较灵活,可以定义远程仓库,一般通过HTTP协议获取。同时,还可以配置本地仓库,利用的是file协议。实际上,自定义本地仓库与Maven本地仓库的目录结构。以Google guava工程为例,其依赖配置信息为: com.go

9、ogle.guava guava 14.0.1 笔者本地Maven仓库路径为:D:softwaredevjavamaven_repository,Maven依赖目录结构规则如下:1. groupId目录结构以上述Google guava工程为例,groupId与Java package规则类似,本例中的groupId为”“,因此,groupId目录结构如下:-com-google-guava2. artifactId目录结构相对于groupId而言,artifactId目录结构相对简单,artifactId即为目录名称。因此,本例artifactId目录名称为guava,并且在groupId目

10、录下,其目录结构为:-com-google-guava-guava3. version目录结构与artifactId目录结构规则一样,version即为目录名称。version目录存放在artifactId目录下。因此,本例中的version目录结构为:-com-google-guava-guava4. 资源文件名具体依赖资源文件就存放在version目录下,并且其名称模式为:$artifactId-$version.$packaging其中,packaging为pom.xml中的打包类型配置,例如:pom,jar,war,ear等。了解此规则之后,最终展示笔者本地maven仓库中guava-

11、14.0.1.jar路径:第一步:配置本地仓库在应用工程pom.xml追加本地仓库配置,请参考下面红色字体部分: Slowly office site http:/ RepositoryMy Project Repositoryfile:/$project.basedir/project-repos在id为”Project Repository”的仓库配置中,其url为:file:/$project.basedir/project-repos,其中,$project.basedir表示当前工程文件路径,url配置说明本地仓库将会以当前工程的子目录project-repos为跟路径。实际上,url可以是任意目录路径,之所以要使用占位符$project.basedir,目的在于确保依赖的资源存放在当前工程目录下,线上构建时能够正确的定

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板/表格 > 财务表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号