2015-07-03 127 views
0

我得到一個錯誤ClassNotFoundException的番石榴

java.lang.ClassNotFoundException: com.google.common.net.InternetDomainName 

試圖運行下面的代碼時:

private String getTopPrivateDomain(String url) { 
    return InternetDomainName.from(url).topPrivateDomain().toString(); 
} 

我已經下載guava-18.0.jar,我已經三檢查它的存在在我的構建-路徑。我也進口了com.google.common.net.*。在Eclipse中我沒有得到任何錯誤或警告,程序編譯也很好,但是當方法運行時它會拋出上述異常。

我不明白爲什麼當它明確導入並在構建路徑中找不到該類時?

+0

嗯......很奇怪。如果它在運行時不存在,那麼你會收到一個'NoClassDefFoundError'。 –

回答

1

該jar在運行時不在類路徑位置中,但是它在Eclipse中配置。如果你使用Tomcat或類似的東西,它需要在/ lib目錄中

+0

是的,我不知道我必須爲Tomcat做不同的事情。我把它放在/ lib目錄中,它工作正常。乾杯! – Chris

+2

@Chris將JAR放入Tomcat的'lib'文件夾並不是一個好主意。將它放入你的webapps的WEB-INF/lib文件夾中。 –