版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、组件升级管理指导手册目录1.升级步骤一览42.软件下载42.1升级指导手册:42.2Maven:42.3IDE:53.升级一般步骤53.1Maven安装及配置53.1.1Maven安装53.1.2Maven基础配置63.2Eclipse4.4安装配置93.2.1Eclipse4.4安装93.2.2Eclipse4.4中Maven配置93.3MyEclipse2014安装配置143.3.1MyEclipse2014安装143.3.2MyEclipse2014中Maven配置153.4工程Maven化213.4.1Maven标准目录结构说明213.4.2原工程按Maven标准目录进行改造223.4
2、.3pom.xml详细配置243.4.4清理原有eclipse工程有关文件253.4.5在Eclipse/MyEclipse中导入工程253.4.6合理化的去除jar包依赖383.4.7使用svn、tfs进行maven代码管理383.5组件升级385.1进行系统全功能测试394.常见问题及解决方案394.1 svn管理maven分支的问题394.2 eclipse导入maven项目时,提示:已经有相同名称的项目存在404.3 项目导入eclipse后,不自动更新下载jar,也不能执行右键项目 Maven Update project404.4 在pom.xml中配置Jar依赖时常遇到的问题:4
3、14.4.1 老系统依赖的jar,在私服找不到414.4.2 私服上能找到老系统依赖的jar,但是版本不合适414.4.3老系统依赖的jar,在私服找不到,但是能找到类似名称的jar414.4.4 本地jar没有本版号,提交本地jar到私服时,如何确认版本414.4.5 ArtifactDescriptorException: Failed to read artifact descriptor424.5 maven编译揭示:编码 GBK 的不可映434.6 Warning无需处理434.7 某些Jar下载失败434.8 deploy远程包分发失败454.9 jar包依赖冲突问题处理454.1
4、0某项目组实施过程的问题清单:484.11 struts2升级到注意事项485.选读内容(maven使用配置及命令)485.1 pom.xml配置说明485.2 maven命令使用804.4参考资料861. 升级一般步骤22.1 Maven安装及配置. Maven安装a) 解压apache-maven-3.3.1-bin.zip至某目录,比如F:Program Filesapache-maven-3.3.1;说明:apache-maven-3.3.1支持jdk1.7+,apache-maven-3.1.1支持jkd1.5+,apache-maven-
5、3.3.1与apache-maven-3.1.1配置相同。本次maven结合组件升级大部分项目组会使用apache-maven-3.3.1,不升级jdk使用jdk1.5的项目组使用apache-maven-3.1.1。b) 解压本地仓库压缩包picc_repository.rar到相应目录,比如:D:m2 picc_repository(此步骤很重要,请优先执行本操作,不要在本地建空仓库,否则向Eclipse中导入maven项目时,下载jar包会耽误很长时间)c) 配置系统环境变量M2_HOME,值为F:Program Filesapache-maven-3.3.1;d) 在系统环境变量pat
6、h中尾部添加%M2_HOME%bin;2.1.2 Maven基础配置直接使用settings.xml文件,不需要做修改,下面是settings.xml的说明:a) 配置用户本地仓库:将settings.xml 中localRepository项从注释中移出,并设置为一个本地目录,比如:D:mavenpicc_repositoryd:m2repob) 配置网络代理(如果是驻场项目才需要配置):将settings.xml 中proxy项从注释中移出,并配置如下xxx11.xxx.xxx.xxxc) 配置公共组件管理平台:将settings.xml
7、 中profile项从注释中移出,并配置如下devnexushttp:/localhost:8081/nexus/content/groups/publictruetruenexushttp:/localhost:8081/nexus/content/groups/publictruetrue d) 配置中央仓库(远程仓库)的镜像,作用是为了稳定、快速的访问中央仓库。NexusNexus public mirrorcentrolhttp:/localhost:8081/nexus/content/groups/publice) 分发构件到远程仓库需要认证如果你没有配置任何认证信息,你往往会得到
8、401错误。这个时候,如下在settings.xml中配置认证信息:.nexus-releasesnexus的用户名nexus对应密码nexus-snapshots nexus的用户名 nexus对应密码.需要注意的是,settings.xml中server元素下id的值必须与POM中repository或snapshotRepository下id的值完全一致。将认证信息放到settings下而非POM中,是因为POM往往是它人可见的,而settings.xml是本地的。2.2 Eclipse4.4安装配置..1 Eclipse4.4安装a) 解压jdk1.8.0_
9、25(32bit).rar中文件至某目录,本文以F:Program Files (x86)Javajdk1.8.0_25为例。b) 解压eclipse4.4.rar至某目录,本文以为F:eclipse4.4为例。c) 修改F:eclipse4.4eclipse.ini中启动JDK的路径与本地一致。-vmF:/Program Files (x86)/Java/jdk1.8.0_25/bind) 启动Eclipse4.4。2.2.2 Eclipse4.4中Maven配置1 设置Maven目录:a) Window preferences Maven Installations Addb) 点击Dir
10、ecotry按钮,找到本地Maven目录:c) 勾选刚添加的maven,点击OK按钮: 2 设置User settingsa) Windows preferences Maven User Settings如下图,分别将全局设置Global Settings和用户设置User Settings,都选为maven工作目录下面的setting文件b) 点击Browse c) 点击OK。Globla settings与User Settings都要配上,并且配一样。3 在eclipse中配置M2_HOME 为防止eclipse运行时找不到maven工作目录,需要在选择的jre中配置-Dmaven.m
11、ultiModuleProjectDirectory=$M2_HOME,以jdk1.7为例Windows preferences java Installed JREs点击finish。2.3 MyEclipse2014安装配置2.3.1 MyEclipse2014安装e) 从服务器上将myeclipse-pro-2014-GA-offline-installer-windows.exe下载到本地,双击该文件将myeclipse安装至某目录。f) 找到安装目录,双击myeclipse.exe,第一次启动myeclipse,需要注册码。下载4softPDFBIDEMyec
12、lipse2014激活教程.rar,参照教程进行破解。g) 重新启动MyEclipse2014。2.3.2 MyEclipse2014中Maven配置1 设置Maven目录:d) Window preferences MyEclipse Maven4MyEclipse Installations Adde) 找到本地Maven工作目录:f) 勾选刚添加的maven,点击OK按钮: 2 设置User settingsd) Window preferences MyEclipse Maven4MyEclipse User Settings如下图,分别将全局设置Global Settings和用户设
13、置User Settings,都选为maven工作目录下面的setting文件e) 点击Browse f) 点击OK。如果将来settings文件有修改,需要点击“更新setting”。3 在eclipse/Myeclipse中配置M2_HOME 为防止eclipse运行时找不到maven工作目录,需要在选择的jre中配置-Dmaven.multiModuleProjectDirectory=$M2_HOME,以jdk1.7为例Windows preferences java Installed JREs点击finish。. 工程Maven化2.4.1 Maven标
14、准目录结构说明目录说明src源码目录src/main主代码src/main/java主代码java文件src/main/resources主代码资源文件src/main/webapp主代码web应用src/test测试代码src/test/resources测试代码资源文件target构建输出目录2.4.2 原工程按Maven标准目录进行改造项目原目录结构各有不同,以pdfbpoc项目为例普通项目目录结构和maven项目目录结构的区别普通web项目目录结构maven项目目录结构,可以参考提供的干净版maven项目修改普通项目的目录结构安排一个人专门、快速进行mave
15、n化工作,为了减少在jar的更新:第一步:从svn/tfs download下最新代码,将整合项目打包备份,以备不时只需。第二步:(如果已经存在,就跳过)在项目根目录下创建src/main目录,然后在src/main目录下创建java、resources,在src目录下创建test目录。第三步:(如果一样,就跳过)我们把原来web项目中java源文件根目录下的文件按原有结构拷贝或移动到src/main/java目录下;原test文件按照同样的方式迁移到src/test目录下;第四步:整体复制文件夹webapps/webroot到src/main下面,删除WEB-INF下的classes文件夹,
16、删除WEB-INF下的原始lib文件夹(原始代码和lib一定做好备份)。第五步:在项目根目录下创建pom.xml文件,这里即是pom.xml文件模板。第六步:删除原始webapp/webroot文件夹。根目录下面的其他文件夹保持不动。到此,该项目已是符合maven结构的项目了。第八步:检查pom.xml中的私服地址以及settings.xml中的私服地址一定是正确的,并且是能联网的,同时,eclipse中maven一定指定了我们自己的settings.xml文件(上面讲过如果配置),否则,导入项目是会报错:maven-compiler-plugin.jar的问题。第九步:将maven项目导入到
17、eclipse4.4中。第八步:将根据上一步我们备份好的jar包文件新增或修改jar依赖配置;其他个性化配置请参考pom.xml详解.doc文件。2.4.3 pom.xml详细配置直接在提供的pom.xml模板进行配置修改。如果想详细了解,请参阅“选读内容”中的pom文件说明。2.4.4 清理原有eclipse工程有关文件删除原eclipse自动生成的.*文件(比如.classpath,.project,.settings等)。2.4.5 在Eclipse/MyEclipse中导入工程a) 在导入前,做如下检查:检查pom.xml中的私服地址以及settings.xml中的私服地址一定是正确的
18、,并且是能联网的,同时,eclipse中maven一定指定了我们自己的settings.xml文件(上面讲过如果配置),否则,导入项目是会报错:maven-compiler-plugin.jar的问题。检查pom.xml文件中的groupId和name要跟自己的项目保持一致:b) eclipse导入工程时,file-import-maven,选择Existing Maven ProjectsMyeclipse导入工程下一步c) Next后跟普通项目导入一样。d) 导入工程后,点击Maven Console,可以看到maven在按pom.xml中的配置自动下载jar文件,第一次下载时间比较长。如
19、果jar包更新有问题,Problems和pom.xml都会报错,按照错误提示修改pom.xml文件中的jar包依赖。当我们修改pom.xml文件中的jar包依赖并保存时,eclipse自动会下载jar包,如果不下载,点中项目 右键 Maven Update project(Alt+F5)。更多帮助,请参照某些Jar下载失败。点击 OK,就会更新下载jar。比如,pom.xml文件中依赖了asm-2.2.1.jar,其下载地址如下e) 修改编译路径,修改此处后eclipse自动编译jsp和java文件后无需重新执行maven发布。保证resources被编译 如果java/main/resour
20、ces,test/resuources不为空,需要remove为none,结果如下:修改class输出路径注意:以非测试源代码为例src/main/java,src/main/resource,included设置为ALL,Excluded设置为None,Output fielder设置为src/main/webapp/WEB-INF/classes点击 OK,如果弹出提示点击 No,不要点击Yes。同时修改,weblogic.xml中刷新jsp和servlet的时间验证Maven项目搭建成功:项目中没有错误提示后,右击项目 Run As Maven build确认自动带出的项目名称,输入自动
21、打包命令clean package,点击Apply,保存本次配置,然后,点击Run,执行自动打包命令。查看一下target下面有新打的war包、webapp/WEB-INF/classes、lib下面都有东西,说明maven化成功了。将maven项目部署到服务器上,指向webapp,检验能否正常启动、正常登录。2.4.6 合理化的去除jar包依赖maven项目,pom.xml会自动的引入多余的jar,实例:某项目WEB-INF/lib下原有160个jar,maven化后WEB-INF/lib下有214个jar。在maven项目主体测试通过后,再进行去除依赖。去除方式1:在pom.xml中凡是依
22、赖了jar,都去除所有依赖。去除方式2:统计出多出的jar(214-160=54),分别有针对性的去除。推荐使用第二种。去除依赖后,需要系统全面测试,以保证系统的正常运行。2.4.7 使用svn、tfs进行maven代码管理Maven项目系统测试正常后,及时将代码提交到svn/tfs,至于是新建分支还是提交到原主干上,项目组内部统一代码管理意见。2.5 进行系统全功能测试测试系统主要功能点,防止jar版本的变更影响程序正常运行。尽量保证pom.xml文件中的版本与先前的jar包版本一致,如果不一致,需要项目组审核、测试通过。实例:某项目组在配置jbpm-jpdl.jar(没带版本号)时,选择了
23、私服上的jbpm-jpdl-3.2.3.jar,启动服务后导致某些功能报异常,后来发现jbpm-jpdl.jar的版本号在jar的MANIFEST.MF文件中,将该jar上传私服,并修改pom.xml文件中的版本号,问题解决。2. 常见问题及解决方案4.1 svn管理maven分支的问题两种方式:1 svn或是tfs管理代码,可以新建maven分支,以后就在maven分支开发和维护,停止老分支的维护。迭代开发中,暂时不能切过来的较大功能,可以稍后单独有版本管理员协助相关开发人员合并到maven分支,但是,这个过程时间越短越好。缺点:查看java文件和jsp文件的切换之前历史轨迹,需要到老分支上
24、去看。2 也可以在原有分支上直接提交maven后的代码, 优点:maven化前后,代码结构发生变动的地方是webapp的迁移和lib的删除,java源代码和配置文件没有发生变化,有助于历史轨迹的查看。我们建议采用第二种方案。最终有各项目组自己决定。4.2 eclipse导入maven项目时,提示:已经有相同名称的项目存在处理:删除eclipse工作目录下该项目的文件夹E:jects4.3 项目导入eclipse后,不自动更新下载jar,也不能执行右键项目 Maven Update p
25、roject处理:使用cmd命令编译进入项目根目录,执行maven打包忽略test命令:mvn package -Dmaven.test.skip=true4.4 在pom.xml中配置Jar依赖时常遇到的问题:4.4.1 老系统依赖的jar,在私服找不到如果在私服找不到,就去中央仓库找,仍然找不到的话,就上传私服。如果该jar是第三方的,将其上传到3rd party;如果是自己的jar包,稳定版上传到Realeses,不稳定版上传到Snapshots。4.4.2 私服上能找到老系统依赖的jar,但是版本不合适将本地的这个版本的jar上传到私服,确保maven化过程中jar版本的一致性。4.4
26、.3老系统依赖的jar,在私服找不到,但是能找到类似名称的jar比如:老系统依赖saaj.jar,私服上只有saaj-api.jar以及saaj-impl.jar分析双方是否一样:jar的内容、文件大小、class文件修改日期都一样,才能确认使用saa-api.jar,不用将本地saaj.jar提交到私服。4.4.4 本地jar没有本版号,提交本地jar到私服时,如何确认版本例如:jbpm-jpdl.jar打开jar包 META-INF 查看MANIFEST.MF文件 Implementation-Version: 3.2.Beta1版本号就是:3.2.Beta1。因此,内部打的jar包如果需
27、要上传私服,也要手工修改MANIFEST.MF内容,填上版本号信息。4.4.5 ArtifactDescriptorException: Failed to read artifact descriptor在项目中,当引入一些Jar包时,因为有些包中又包括了其它的包的依赖,所以Maven会下载相应的包,但这些包有可能已经不存在了。这时就会报这个错误:ArtifactdescriptorException: failed to read artifact for xxxxxx.遇到这中问题最简单的办法就是一个一个的exclusion,可以执行mvn -U install,根据错误提示,分别exc
28、lusion它们。两外一个可能原因是:settings.xml文件中没有配置代理,或者代理配置的不对,导致虽然浏览器能访问私服,eclipse却连接不了私服。4.5 maven编译揭示:编码 GBK 的不可映报错信息如下:首先,查看problems中的错误,是否有中文乱码情况,如果有,在磁盘上,使用UE打开GBK编码不可映射字符的文件,将其内容覆盖到eclipse中。如果没有,通过修改pom.xml文件,可以告诉maven这个项目使用UTF-8来编译。4.6 Warning无需处理例如:dtdparser121.jar编译时,总是抱错:jar missing原因是因为私服上的dtdparser
29、121.jar缺少pom文件,更新到本地就缺失pom文件。4.7 某些Jar下载失败第一步:确定eclipse中setting文件的配置是否正确第二步:确定maven工作目录下的setting文件以及pom.xml文件中私服配置是否一致并正确。第三步:开发本地仓库,查看具体下载失败的jar在本地已经下载了那些文件下面是正常下载jar的文件。如果本地文件夹缺失这些文件,或是有只有以pom.lastUpdated结尾的文件,没有上面的正常文件。删除这个文件夹,重新操作update project。第四步:如果仍有问题,说明pom.xml中该jar配置有问题。4.8 deploy远程包分发失败异常信
30、息:ERROR Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on projectsaa: Failed to deploy artifacts: Could not transfer artifact com.picc.pdfb:pdfb-saa:jar:1.0.0-.-1 fronexus-snapshots (45:8081/nexus/content/repositories/snapshots): Fai
31、led to transfer file: http:/7.136.145:8081/nexus/content/repositories/snapshots/com/picc/pdfb/pdfb-saa/1.0.0-SNAPSHOT/pdfb-saa-1.0.0-.1-1.jar. Return code is: 401, ReasonPhrase: Unauthorized. - Help 1处理办法:1 检查pom.xml中的非中央仓库的远程地址是否配对了2 检查setting文件中的远程地址是否配置了,3 检查setting文件中的认证用户信息是否配对。4 D:mavenapache-maven-3.3.1conf、setting中的id和地址与pom.xml里远程deploy的地址必须一致5 C:UsersAdministrator.m2settings.xml中的id和地址与pom.xml里远程deploy的地址必须一致参照如下/blog/4.9 jar包依赖冲突问题处理处理方式有两种,推荐使用第二种:a) 我
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内燃机车钳工风险评估与管理竞赛考核试卷含答案
- 草地监测员安全宣教能力考核试卷含答案
- 合成气装置操作工岗前安全生产知识考核试卷含答案
- 淀粉及淀粉糖制造工复测评优考核试卷含答案
- 氯氢处理工安全行为评优考核试卷含答案
- 医疗器械购销员岗中新技术考核试卷含答案
- 氯丁橡胶装置操作工达标知识考核试卷含答案
- 粉末冶金模具工岗前岗位实操考核试卷含答案
- 输蔗破碎工岗位安全宣贯考核试卷含答案
- 煤层气固井工岗中诚信道德考核试卷含答案
- 2026年企业文化企业建设知识竞赛-中国电信知识竞赛历年参考题库含答案解析
- 2026高考议论文范文19篇(完整版含真题立意+考场高分作文)
- ESG管理制度手册
- 2026苏教版二上数学第二单元第5课时《用1~6的乘法口诀求商》课件
- 2026-2027学年苏教版(新教材)小学科学五年级上册(全册)知识点清单
- 2026年湖南省中考历史试卷(含答案)
- 校园小导游、小讲堂(课件)-2025-2026学年人教版二年级上册数学
- 《演唱 郊游》课件2025-2026学年冀少版三年级下册音乐
- 矿山全员责任制考核制度
- 2026年乡村医生真题【历年真题】附答案详解
- 2026年C1驾照三力测试模拟题库
评论
0/150
提交评论