前言
在一个工作流的项目中,我们使用了Activiti5.16.2作为工作流引擎,但是在并发情况下会不稳定的出现NPE,经过查看以及资料搜集,发现是Activiti版本中有一个BUG导致,为了稳定性,打算使用修改代码重新部署一个acticiti包上传到nexus私服的方式解决该问题。
具体记录
1.修改配置文件
由于要上传私服,所以需要在maven的配置中添加私服的认证信息,否则上传会报401 UnAuthorized错误
添加的消息如下
<server> <id>releases</id> //要上传的repo的id <username>admin</username> //用户名 <password>xinhongyang@2016</password> //密码 </server>
2.打包Activiti
在github上下载源码并且自行部署即可,这里没有出现什么问题,就不详细说了
3.将部署后的包上传到nexus私服上
1.上传jar包
注意:单独上传jar包无法将jar包的相关依赖进行上传,所以如果jar包有内部依赖的话,不要用这种方式
mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=/Users/xin/Downloads/activiti-engine-5.16.2.jar -DgroupId=org.activiti -DartifactId=activiti-engine -Dversion=5.16.2.xin -Dpackaging=jar -DrepositoryId=releases -Durl=http://nexus.xinhongyang.me/repository/releases/
2.上传jar包和pom文件
我本次使用的就是这种方式上传,jar包的消息例如group-id verison等将会从pom文件中解析
mvn org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy-file -Dmaven.test.skip=true -Dfile=/Users/xin/activiti-bpmn-model-5.16.2-wbg.jar -DpomFile=/Users/xin/activiti-bpmn-model-5.16.2-xin.pom -DrepositoryId=releases -Durl=http://nexus.xinhongyang.me/repository/releases/
3.上传pom文件
如果要单独上传一个pom文件,例如上传某个顶级pom时,可以用这种方法,也就是将 -Dfile 和 -Dpomfile 都写为pom文件的地址
mvn org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy-file -Dmaven.test.skip=true -Dfile=/Users/xin/activiti-root-5.16.2-xin.pom -DpomFile=/Users/xin/activiti-root-5.16.2-xin.pom -DrepositoryId=releases -Durl=http://nexus.xinhongyang.me/repository/releases/