maven打包:找不到符号 符号: 方法 getXxx()
先交代一下我這邊的情況,如若跟你想要的結果不符,勿噴。
聚合項目 + 使用過 mvn install 指令
聚合項目,主模塊 A 需要打 war 包,其他模塊 BCD 需要打為 jar 包作為其依賴。
先看一下報錯截圖:
?
這次的問題主要在于之前在打 war 包時,使用的 mvn install 指令,其依賴的 BCD 都被打進本地 Maven 倉庫,而 BCD 改動后,由于沒有加 clean執行, 再次執行并沒有重新進行編譯打包,致使新增的屬性字段以及方法 not found。
所以要弄清楚 mvn install 跟 mvn clean install 或者是 mvn package 的區別。
package命令:完成了項目編譯、單元測試、打包功能,但沒有把打好的可執行jar包(war包或其它形式的包)布署到本地 maven 倉庫和遠程 maven 私服倉庫
install命令:完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)布署到本地 maven 倉庫,但沒有布署到遠程 maven 私服倉庫
deploy命令:完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)布署到本地 maven 倉庫和遠程 maven 私服倉庫.
命令說明參考鏈接:https://blog.csdn.net/baidu_41632451/article/details/94742874
而 clean 的作用則是幫助你清除本地 jar、所以配合 install 就得到最新版本 jar 的效果了 > mvn clean install,同樣的也可以使用 mvn clean package
但是需要注意的是,clean 是一件相對比較耗時的操作,如果沒有修改其他模塊,可放棄使用。
當然,如果你不想用 mvn clean 但是又想保持 jar 是最新版本,則可以使用 -Djar.forceCreation 參數,這個參數會強制更新 jar 包。
個人建議:為保險起見,建議使用 clean 指令。
1、使用 mvn clean install 或者是 mvn clean package 重新進行打包操作。
2、使用 mvn install -Djar.forceCreation 或者 mvn pakcage -Djar.forceCreation
3、如果上邊兩種方法都試了,還是不行,直接找到自己的 maven 倉庫地址,把 BCD 給刪了,重新執行打包命令。
分享副
總結
以上是生活随笔為你收集整理的maven打包:找不到符号 符号: 方法 getXxx()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SSIS 学习之旅 FTP访问类
- 下一篇: JAVA笔记(十四)