Я создал клиентскую программу, которая использует Нетти, чтобы скачать .jar через сокет TCP и создает новый экземпляр JarInputStreamMySQL MissingResourceException при выполнении .jar из HikariCP памяти
Когда я инициализацию программа загружает все до тех пор, пока не будет подключена база данных, когда она выдает исключение MissingResourceException.
Оригинальная баночка (тот, который получает посылку с колючей сетью) отлично работает, когда нормально работает через терминал/commandprompt. Я не думаю, что это проблема в моем коде по крайней мере.
Я использую HikariCP для объединения баз данных и при подключении к базе данных он бросает мне это StackTrace:
Caused by: java.lang.ExceptionInInitializerError
at com.mysql.jdbc.ConnectionPropertiesImpl.<clinit>(ConnectionPropertiesImpl.java:586)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at com.zaxxer.hikari.util.UtilityElf.createInstance(UtilityElf.java:117)
at com.zaxxer.hikari.pool.PoolUtilities.initializeDataSource(PoolUtilities.java:110)
at com.zaxxer.hikari.pool.BaseHikariPool.<init>(BaseHikariPool.java:157)
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:60)
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:48)
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:80)
Caused by: java.lang.RuntimeException: Can't load resource bundle due to underlying exception java.util.MissingResourceException: Can't find bundle for base name com.mysql.jdbc.LocalizedErrorMessages, locale nl_NL
at com.mysql.jdbc.Messages.<clinit>(Messages.java:54)
... 38 more
Caused by: java.util.MissingResourceException: Can't find bundle for base name com.mysql.jdbc.LocalizedErrorMessages, locale nl_NL
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:721)
at com.mysql.jdbc.Messages.<clinit>(Messages.java:52)
... 38 more
Я использую:
MySQL-разъем-Java: 5.1.37 HikariCP-java6: 2.3.12
Я могу подтвердить, что файл LocalizedErrorMessages.properties действительно находится в com/mysql/jdbc.
Загрузчик классов Я использую: http://pastebin.com/9VsV32Yg
оригинальный сосуд работает нормально, когда выполняются из терминала/интерпретаторе команд. Точка входа в исходную банку корректно выполняется в моем приложении TCP, так как я вижу, что вывод запуска из нее появляется в консоли.
Надеюсь, что кто-то знает, что вызывает проблему.
Его не объявлено как аннотация в java.lang.ClassLoader, который я продлеваю. Каков правильный URL.protocol для ресурса внутри банки? – Wesley
Почему бы вам не переопределить метод, установить точку останова и выяснить? Если я помню, это начинается с jar: // или что-то в этом роде. – brettw