#java #exception
#java #исключение
Вопрос:
Я вижу следующее исключение (при установке Linux Java6-sun, но не на OSX)
Caused by: java.util.MissingResourceException: Can't find bundle for base name sun.security.tools.JarSignerResources, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
at java.util.ResourceBundle.getBundleImpl(Unknown Source)
at java.util.ResourceBundle.getBundle(Unknown Source)
at com.wuntee.aat.security.tools.JarSigner.<clinit>(JarSigner.java:96)
... 12 more
но я вижу, что инструменты.jar существует в каталоге установки java, и это инструменты.jar содержит класс JarSignerResource . Есть идеи?
Комментарии:
1. Это инструменты. jar в пути к классу? Я думаю, это не так.
2. это часть базовой установки java… /usr/lib/jvm/java-6-sun/lib/tools.jar
3. Это часть установки JDK (потому что она используется javac и другими инструментами разработки), но это не значит, что это путь к классу каждого приложения Java. Кстати, этого нет в базовой установке JRE .
4. запуск jar через ‘java -classpath .:/usr/lib/jvm/java-6-sun/lib/tools.jar -банка myjar.jar «вызывает ту же проблему…
5. Вы не можете использовать -jar и -classpath одновременно. Используйте ‘java -classpath .:/usr/lib/jvm/java-6-sun/lib/tools.jar:myjar.jar com.wuntee.aat.security.инструменты. JarSigner (предполагается, что JarSigner является основным классом вашего приложения)
Ответ №1:
Проблема не связана с невозможностью найти jar. Проблема связана с тем, что вместо этого в jar не найден какой-либо ресурс для локали en_US. Могут произойти две вещи:
- если вы откроете инструменты.файл jar и проверьте содержимое sun security tools, вы обнаружите, что у одного из них нет ресурса JarSignerResources_en_US.class , или
- проверьте местоположение по умолчанию для двух разных используемых вами ОС: одна из них должна быть en_US, а другая — нет. Это наиболее вероятно.