在Jeddict的应用过程中,发现了一个问题。如果前端视图选择Angular(具体版本,需要根据插件版本确定。此处理解为非Angular JS),那么在自动构建的过程中,会发现,每当在安装NodeJS和Yarn的时候,总是安装失败,从而导致打包失败!现,公布此问题的解决方案!


一、解决过程

1,首先是列举一下常见的几个问题

第一个:maven版本不够,选择Angular的时候,引入了node和yarn下载,而IDE自带捆绑的maven是3.0.5版本,不够,需要替换为3.1.0以上

第二个:Node不是规范的32位程序

第三个:node and yarn安装失败

第四个:这个不算,算是一个警告。就是说在webpack打包的时候,有些特性,目前的Angular版本不支持

第五个:对象重复定义

第六个:测试失败导致的打包失败


二、解决方案(不按先后顺序,按难易程度)

第一个:略过,重新配置maven就行

第四个:可以忽略

第五个:根据错误信息,找到对应的文件,删除重复定义,重新启动项目测试!

第六个:检查测试类里面的参数类型(根本原因:实体设计的数据类型不规范,当时直接从数据库导进来的数据模型)


第二个:这个问题,拿到百度上去或者谷歌,会说是由于node的属性和计算机系统不对应。宝宝我重装系统,换成了32位的,结果依然报错。最终的解决方案,是在项目的Node包里面,新建一个bin文件夹,将Node.exe复制到bin文件夹,解决!

第三个:出现这个问题的原因,不一定都相同,一定要根据具体的错误信息解决。主要有:当前配置的下载路径,无法正常下载依赖包;版本不一致;所支持的系统环境不符合。  

在当前下载路径无法正确下载时,可以更换仓库路径,或者手动下载,放入本地仓库(经观察,是由于网络原因造成的超时)!

出现版本不一致的时候,并不会在错误信息里具体提示,这个是我反复观察发现的。就是在测试版本支持的时候,改了pom文件,结果在统一版本声明和具体版本标记的时候,不一致。需要改,改的时候,需要对应Node和Yarn(不能替换成NPM)两者的支持版本。     PS:需要了解当前使用版本所支持的服务,看release说明!

但前面两个都不是最主要的原因,最后一个原因是导致无法成功打包的根本原因,解决方案:仔细观察构建日志,发现对于Node和Yarn这两个依赖的处理,分别是:从本地仓库,拷贝Node.exe到项目路径,并执行安装;在本地仓库解压Yarn压缩包,并复制到Node文件夹!   所以,解决方案是,将本地仓库的文件,替换成windows支持的文件。(文件来源:GitHub)

具体操作:

1,分别下载Node和Yarn的Windows版本,安装;

2,将Pom文件中关于Node和Yarn的版本与安装版本保持一致; 

3,构建

备注:如果第3步失败,将Yarn安装目录的文件,拷贝到工程目录下node/yarn/dist下,做替换,再次构建


三、总结

刚刚在讨论前端权限控制的时候,我又看了一遍Jeddict生成的代码。感叹啊,人家知道的太多了!

对于我个人来说,在这个过程中,发现自己解决问题的思路和思维被扩散了,很不错。然后,就是责任感了,因为自己从辈儿上来讲,比较老。所以,需要照顾着小的,责任感的加强,让我自己也成长了不少!

还是要看错误日志,根据提示,具体解决问题!

posted on 2017-07-09 21:21  何红霞  阅读(209)  评论(0编辑  收藏  举报