maven中遇到的一些使用點滴

weixin_34236869發表於2018-09-10

該文章中記錄一些在使用maven的時候遇到的值得記錄的問題。

1. deploy

在我們進行發包時,一般使用

mvn clean deploy

的命令。但是我們需要明白為什麼要加上clean的這個選項。
如果我們沒有加上clean的命令,則在具體執行指令的時候,並不會清除output(target)檔案中的歷史檔案,這就導致打包上傳到maven倉庫中的jar包中將包含之前的舊程式碼。
在以往的工程中,就遇到過類似的情況。比如將某個類的檔案路徑從com.A改為了com.B,但是打包得出來的內容會報路徑A和路徑B同時存在的衝突導致的一系列問題。這個根本的原因大概率的就是某位同學在進行deploy時沒有進行clean的操作導致的。

2. jdk版本不一致

再與其他系統進行互動的時候,發的api包對方再引入的時候,進行打包的時候,報了bytecode version: 52.0 與 bytecode version:50.0衝突的異常。
後來經過排查發現,原來是因為我們系統採用的是jdk 1.8,打出的包也是1.8版本的(52.0),而對方系統採用的是jdk 1.6,打出的包要求是1.6版本(50.0)。所以解決的方法是調整版本號,單獨給對方發了一個1.6版本的包。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

通過將source和target均改為1.6,進行發包解決了問題。

相關文章