java程式編譯打包出錯 the version cannot be empty錯誤分析
阿新 • • 發佈:2021-08-02
開發的包編譯打不過去,開發研究了1個小時搞不定,而且還一直說自己本地跑沒問題啊。。。。。看來是指望不上了,還是老子自己研究吧。
報錯如下所示:
Caused by: org.apache.maven.artifact.InvalidArtifactRTException: For artifact {org.springframework.data:spring-data-redis:null:jar}: The version cannot be empty.
看的出來是提示版本是空的,那應該是某塊載入不到version導致,應該不是程式問題,所以我就懷疑到了pom.xml檔案,由於這個程式是有兩個pom.xml,一個外層的父pom.xml檔案,一個是裡面的main包下的子pom.xml檔案。
百度了一番,並沒有直接的答案,需要自己分析,這種問題大概就是父pom.xml檔案載入不到version導致的,所以我就看父pom.xml檔案,當然也要和子pom.xml檔案對比,要找的關鍵段就是spring-data-redis
這一段,仔細對比了一下發現在父pom.xml檔案裡面沒有version這個關鍵的一行屬性(子pom.xml檔案是有的),這肯定不行,我自己加上。終於成功了。
父pom.xml檔案的spring-data-redis
一定要有version這行屬性,子pom.xml是可以沒有的。由於父pom.xml會呼叫子pom.xml檔案,所以父pom.xml沒有屬性的話直接編譯報錯。
繼續找開發反饋,得來一句:我錯了哥,我忘了哥。。。