最近Build项目时,发现build出的程序打不开。看build log,发现一个已经被删掉的bundle被引入进来,导致build出的程序不能用。
log记录:[WARNING] The following locally built units have been used to resolve project dependencies. XXX/1.0.0
问题原因
和普通maven build一样,Tycho build会使用本地Maven已经install了的artifacts。RCP项目有个target platform文件,Maven本地installed的artifacts会被加入target platform。当你只需要build部分artifacts时,这个特性就很有用。
解决办法
公司项目是在build机器上自动build的,而且build机器又不止一个,我不能去把每个机器上本地install了的XXX/1.0.0 artifacts删去。不过可以在maven命令后面加上-Dtycho.localArtifacts=ignore,这样build项目是就不会用本地artifacts。