2015-08-24 83 views
0

在重建聯合開發的J2EE應用程序中,我得到以下編譯錯誤:Java編譯錯誤「無法找到符號」方法的GetFiles(字符串)

error: cannot find symbol 
List<MultipartFile> mpFileList = request.getFiles (fileParm); 
symbol: method getFiles(String) 
location: variable request of type MultipartHttpServletRequest 

MultipartHttpServletRequest同時擴展的HttpServletRequestMultipartRequest,並且所討論的方法(即,getFiles(String))是類的其中一種方法,它位於包中。org.springframework.web.multipart我包含在我的包中NetBeans項目通過添加JAR spring-web-4.1.7.RELEASE.jar。爲什麼Netbeans說它在其中一個項目JAR文件中存在時無法找到該方法?

+1

項目'buildpath'上的'jar'? – brso05

+0

也仔細檢查你的導入 –

+0

@ brso05:我可以在我的NetBeans編譯時間庫列表中看到它... –

回答

0

我意識到每個編譯問題都是不同的,但我希望將解決方案發布到我的問題中,以防止其他人調試他們的問題。與「答案」最接近的人是@ brso05,他關於檢查JAR的建議存在於WEB-INF/lib中。這讓我想知道如果我從文件夾中的JAR中提取相關的對象類會發生什麼。

果然,這工作,這讓我想知道包含在我的項目中的JAR是否有多個版本的類(即,可能沒有找到所需方法的版本在使用方法之前找到的版本)因此,我從項目屬性中刪除了所有Spring JAR,並根據編譯器的任何其他編譯/運行時抱怨,添加了我需要的Spring JAR(spring-webXXX.jar)和其他任何其他JAR。我現在可以編譯並運行而不會出現問題。

雖然我不能確切地說哪個JAR或圖書館是罪惡派對,但至少我找到了解決問題的正確方法。感謝您的所有建議......

+0

今天早上我在編譯過程中進行了一些進一步的檢查,我精確地指出了JAR的問題,我需要讓我的Spring jar被列出。這是一個在另一個項目中編譯的JAR,所以也許該項目有一箇舊版本的MultiPartRequest,它缺少我需要的方法,我可能會更新我在該項目中使用的JAR,以完全消除此問題... –

+0

I剛剛證實,對於我一直用來構建我的下級項目的Spring版本,類** MultipartHttpServletRequest **不包含有問題的方法,因此,只要該項目的JAR出現在我的更新的版本之前就會出現編譯錯誤,日期春天的瓶子... –

相關問題