安卓的同事說,如果引用的2個jar文件中,存在相同的package和類名稱,即類的限定名一樣,會報錯.我覺得不會,就想試試.
首先在module中重寫一個類文件,包名和類名與所覆蓋的完全一樣.
然后打成jar文件.發現idea會把maven依賴的module全部打入到一個包中去,后來發現原因如下圖.
解決辦法:先右鍵1.中依賴的module,remove.然后,右鍵2中的"pack into xxx.jar",就會是3中我們期望的效果了.
最后,我運行帶有main方法的jar包,雖然引用的jar包中存在相同的類限定名,但是不會報錯.它會順序尋找classpath,找到第一個類.可能是安卓那邊的jvm機制和java不一樣吧,所以會報錯.