2017-09-22 16 views
0

私のminecraftプラグインの1人の仲間のユーザーにのみ適用される問題があるようです。NoSuchMethodError:com.google.common.cache.CacheBuilder.maximumSize(J)

[15:54:14 ERROR]: Error occurred while enabling <Plugin> v1.0.8 (Is it up to date?) java.lang.NoSuchMethodError: com.google.common.cache.CacheBuilder.maximumSize(J)Lcom/google/common/cache/CacheBuilder;

としてなぜこれが起こっているのか、私はオーバーそれいくつかの方法来ることができるかのいずれかの理由がありますか?

マイコード:JVMは、参照クラスのメソッドを見つけることができませんので

private LoadingCache<String, String> profileCache = CacheBuilder.newBuilder(). 
     maximumSize(500). 
     expireAfterWrite(4, TimeUnit.HOURS). 
     build(new CacheLoader<String, String>() { 
      public String load(String name) { 
       try { 
        return getProfileJson(name); 
       } catch (IOException e) { 
        Bukkit.getLogger().info("Error, " + e.getLocalizedMessage() + "."); 
       } 
       return null; 
      } 
     }); 

答えて

0

java.lang.NoSuchMethodErrorは、実行時にスローされます。これは通常、アプリケーションのコンパイルと実行にサードパーティライブラリの異なるバージョンを使用しているために発生します。

コンパイルに使用するライブラリのバージョンとコードの実行に使用するバージョンを確認し、一致するか、少なくとも互換性があることを確認します。

0

エクスポートされたjarにライブラリを含める必要があります。デフォルトでは、IDEはエクスポートされたJarに含まれていないため、IDEは実行時に存在すると想定しています。

Gradleの場合はhere、Mavenの場合はhereを参照してください。