1. 程式人生 > >maven error提示: 不相容的型別: java.lang.Object無法轉換為T

maven error提示: 不相容的型別: java.lang.Object無法轉換為T

使用Maven install打包程式,但是提示error: 不相容的型別: java.lang.Object無法轉換為T。

看了下是這段程式碼:

	public <T> T getMapper(Class cls) throws Exception {
		return sqlSessionTemplate.<T>getMapper(cls);
	}

直接出錯原因:

Object型別無法轉換為泛型T

間接出錯原因:

eclipse使用jdt編譯,maven使用javac編譯。javac編譯型別檢查更嚴格。所以,使用eclipse編譯不會出錯,但是使用maven打包出錯。

解決方法:

網上說的修改pom.xml檔案,讓maven使用jdt編譯,但還是出錯。

最後,換一個maven的版本,問題解決。

以前使用maven 3.5.1出錯,改成eclipse內嵌的maven 3.3.9,編譯打包正常。