maven项目打包注意事项

来源:互联网 发布:全站仪数据采集的步骤 编辑:程序博客网 时间:2024/04/27 13:25

一、模拟场景:
Eclipse中有两个maven项目,A项目需要部署在JBoss中运行,maven打包格式为war包,B项目为自行开发的核心类库,打包格式为jar包。A项目依赖B项目。

二、操作
B项目有少许类改动,增添方法 ,修改方法名等,使用clean package命令将B项目打包生成相应的B.jar。由于改动量少,并且A项目并无改动,就直接把B.jar放进A.war包中。

三、问题
A项目运行时,发现B项目的改动的新特性并未体现出来,明明B.jar包已经更新至A.war包上了。

四、原因分析
eclipse中的maven项目打包,Maven项目打包时,一般使用命令clean package或clean package dmaven.test.skip true,此时外部依赖jar包中的class文件会抽取出来,放在classes文件夹下,并同时将jar包放在相应的WEB-INF/lib目录。
本次操作只替换了lib目录下的jar包,并替换classes下的文件,故改动的新特性未能体现。

五、解决办法
若有外部依赖jar包更新,不能直接拷贝新的jar包进去,单纯替换一个新的jar包是没用的,必须同时替换classes下相应的类文件,或重新打包,将classes下面的class更新。
各位可根据实际情况选择,如果依赖包修改的东西不多,可人工替换classess下的文件(不建议这样做,因为容易出错),如果war包工程不是非常大,建议重新打包,maven打包还是比较快的。

1 0
原创粉丝点击