2011-11-16 51 views
1

我有一個使用JIRA的SOAP API的Vaadin項目。它在Eclipse中運行良好,但試圖使它在IntelliJ中工作,並且Maven正慢慢地讓我發瘋,儘管我覺得我已經接近完成了。Tomcat在我的項目中顯示NoClassDefFoundError類

每當我部署我的應用程序到本地Tomcat服務器,我得到的是由此引起的堆棧跟蹤:

java.lang.NoClassDefFoundError 
be.azvub.jira.service.JiraSoapServiceServiceLocator.getJirasoapserviceV2(JiraSoapServiceServiceLocator.java:53) 

此類存在,因爲自從我從月食,因爲我搬到他們什麼都沒有改變可以打開.java文件並看到那裏沒有錯誤。我可以刪除可以調用這個類的代碼,並且一切都很好,所以這是一個本地化的問題。問題類與我的應用程序類(仍然有效)在不同的包中,其中調用它。

什麼原因導致了這個問題,我該如何解決?

+0

您是否使用帶Eclipse和IntelliJ(或)IntelliJ的maven? – Pokuri

+0

只有IntelliJ – Valyrion

+0

那麼,你能告訴我你是如何指定該JIRA的SOAP API的依賴關係? – Pokuri

回答

1

我不知道我是怎麼做到的,但通過修復一個不相關的問題,這個問題也隨之解決了。

我更改了文件|項目結構| Facets(因此,應用程序可以在WebContent目錄下找到Vaadin的主題文件夾,而不是默認的src/main/webapp)。這兩個文件夾實際上都不包含導致問題的類。

我也強迫Maven重新導入所有內容,就像我以前做過幾次一樣,但現在我使用了項目瀏覽器中項目的上下文菜單下的選項,而不是Maven Projects選項卡,所以也許這樣做了區別? Maven對我來說還是很大的巫術,但至少現在一切似乎都正常。

但是,無論如何感謝您的幫助。

0

我的猜測是構建路徑,請檢查您正在調用的類是否存在於項目的構建路徑中。