簡體   English   中英

當我在群集上運行jar時出現NoSuchMethodError

[英]NoSuchMethodError when I'm running jar on cluster

當我運行單元測試時,一切正常,但是當我在集群上運行時,出現NoSuchMethodError

2015-09-07 16:51:40,143致命[main] org.apache.hadoop.mapred.YarnChild:運行子級時出錯:java.lang.NoSuchMethodError:com.google.common.base.Splitter.splitToList(Ljava / lang / CharSequence;)Ljava / util / List;

在pom.xml中,我加入了番石榴:com.google.guava:guava:18.0

當我設置番石榴14.0版時,我得到了同樣的錯誤。 我該怎么辦?

在您的類路徑中檢查類拆分器。 可能有兩個同名的Splitter類來自兩個不同的jar,而一個類覆蓋了另一個。

在所有jars Splitter類都存在的情況下簽入工作區,並刪除一個不需要的依賴項。 這應該工作。

根據更改日志 ,從15.0版開始引入了public List<String> com.google.common.base.Splitter.splitToList(CharSequence) 因此,您可能必須將版本從14.0更改為15.0或更高版本。 我認為18.0也應該起作用...

 +   * @since 15.0
 +   */
 +  @Beta
 +  public List<String> splitToList(CharSequence sequence) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM