2017-11-10 13 views
3

私はmultidexを使用するAndroidアプリを持っています。それは解放され、数十万の月間のユーザーを持っています。たびたび、クラッシュ・スティックスではExceptionInInitializerErrorがクラッシュします。私はそれらを再現することはできませんでした。java.util.MissingResourceException:基本名javax.servlet.LocalStringsのバンドルを見つけることができません

これはmultidexに起因する可能性があり、私の設定にはmultiDexKeepFile file('multidex-config.txt')があり、クラスのリストが役立つかもしれませんが、少なくともこのリソースには役立たないようです。

org.eclipse.jetty.http.MimeTypes 
org.eclipse.jetty.server.Server 
javax.servlet.LocalStrings 

ものは、私が過去にこのようなクラッシュを持っていたあるすべてのクラスである:これは私のmultidex-config.txt上のコンテンツです。私はまだそれらのいくつかが固定されているかどうかを確認するために待っているが、以下、この1は確かに戻ってくる続ける:

Fatal Exception: java.lang.ExceptionInInitializerError 
     at myapp.run(myclass.java:986) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at java.lang.Thread.run(Thread.java:761) 
Caused by java.util.MissingResourceException: Can't find bundle for base name javax.servlet.LocalStrings, locale it_IT 
     at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1501) 
     at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1324) 
     at java.util.ResourceBundle.getBundle(ResourceBundle.java:723) 
     at javax.servlet.GenericServlet.(GenericServlet.java) 

は、どのように私はこの問題を解決することができますか?この場合、イタリア語ファイルを探しているようですが、これは必ずしもそうではなく、イタリアには多くのユーザーがいるので、なぜいくつかの理由だけでクラッシュするのはわかりません。 LocalStringsのAndroidスタジオのリソースバンドルには、デフォルトのフランス語と日本語のみが表示されます。

ありがとうございました。

+0

[この](https://blogs.oracle.com/chengfang/solve-javautilmissingresourceexception:- cant-find-bundle-for-base-name-comconfig、-locale-zhcn)はすでに正しくありますか? –

+0

私は何を試してみるべきか分かりません。私は実際にリソースを自分で追加しているわけではありません。それはgradleのコンパイル・ラインから来て、私のライブラリを見ればリソースを見ることができます。私が言ったように、これは私のユーザーの大部分でうまくいきますが、ほんの少し失敗します。 – casolorz

答えて

1

servlet-apiの依存関係を追加するために欠けていないことを確認してください。あなたはMavenを使用している場合

は、この依存関係は、プロジェクトであることを確認してください。私はあなたがしようとした推測

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <version>3.1.0</version> 
</dependency> 
+0

私はそれを持っており、私のサーブレットは私のアプリの重要な部分であり、毎月数十万人のユーザにとってうまく機能します。そのエラーを起こすのはごく少数のユーザーです。 – casolorz

+0

あなたはそのユーザーの基本名が空でないか、いくつかのパラメータがないことを確認しました**基本名のバンドルを見つけることができません** –

+0

完全にはわかりませんが、エラーは投稿に貼り付けたとおりです。 '基本名javax.servlet.LocalStrings、locale it_IT'のバンドルを見つけることができません。私は「米国」のためにそれを見た。 – casolorz

関連する問題