1、這個錯誤下還有兩個子錯誤提示:1)Error injecting: private org.eclipse.aether.spi.log.Logger org.apache.maven.repository.internal.DefaultVersionRangeResolver.logger;2)java.lang.IllegalArgumentException: Can not set org.eclipse.aether.spi.log.Logger field org.apache.maven.repository.internal.DefaultVersionRangeResolver.logger to org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory;
2、一直追蹤到下圖這里也沒看出有什么問題,不知為什么Google的依賴注入框架【Guice】總是提示注入的日志記錄器類型錯誤。
3、經過多次嘗試發現,只有按照先執行插件【dockerfile-maven-plugin】再執行插件【maven-install-plugin】順序時才會出現此錯誤,只要兩者不同時執行或者最后執行【dockerfile-maven-plugin】則不會有錯。
4、為了使兩個插件都能執行,則必須先執行插件【maven-install-plugin】后執行插件【dockerfile-maven-plugin】。根據文章【maven pom進階教程 - phase與goal - wzj_whut的個人空間 - OSCHINA】介紹,對插件【dockerfile-maven-plugin】采取如下設置即可,意為先通過對默認execution【default】的【phase】屬性設置為【none】禁用掉,然后再重建一個新的execution【fater-deploy】。這樣在【deploy】階段,當所有默認的execution都執行完成后,最后執行手動添加的execution【fater-deploy】,從而完整無誤的執行完所有插件。