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
의 내용이다. 나는 아직도 그 중 일부는 고정되어 있는지 확인하기 위해 기다리고 있지만 아래이 하나 확실히 돌아오고 계속 :
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 Studio의 리소스 번들에는 프랑스어와 일본어의 기본 리소스 번들 만 표시됩니다.
감사합니다.
[이] (https://blogs.oracle.com/chengfang/solve-javautilmissingresourceexception:- cant-find-bundle-for-base-name-comconfig, -locale-zhcn) 이미 맞습니까? –
나는 내가 거기에서 시험해야하는지 잘 모른다. 나는 실제로 리소스를 직접 추가하지 않고, gradle의 컴파일 라인을 통해 제공되며, 라이브러리를 살펴보면 리소스를 볼 수 있습니다. 또한 내가 말했듯이, 이것은 대부분의 내 사용자에게 잘 작동하며, 몇 가지 경우에만 실패합니다. – casolorz