Pregunta

Im la construcción de una aplicación Java que utiliza JDBC para conectarse a MySQL. Tengo un script de hormiga que compila el código y luego los paquetes, junto con log4j, JUnit, libshout-java y el controlador JDBC de MySQL en un jar ejecutable. Todo esto funciona bien en Ubuntu 9.10, y mi código se conecta a MySQL y allá vamos.

Sin embargo, mi env producción será Solaris (mi caja dev es ubuntu) y cuando llegué a construir y ejecutar esto en allí tuve los siguientes errores.

17 [main] DEBUG com.radiobusi.ShoutGen.ParseConfig  - [SQL, SELECT * FROM RadioBusi.RadioBusi_song JOIN RadioBusi.RadioBusi_playlist WHERE RadioBusi_playlist.Name = 'Placebo 2';]
18 [main] DEBUG com.radiobusi.ShoutGen.ParseConfig  - this is able to be broken up[SQL, SELECT * FROM RadioBusi.RadioBusi_song JOIN RadioBusi.RadioBusi_playlist WHERE RadioBusi_playlist.Name = 'Placebo 2';]
78 [main] ERROR com.radiobusi.ShoutGen  - An error occured instantiating the class ShoutGen
java.lang.ExceptionInInitializerError
        at com.mysql.jdbc.Util.stackTraceToString(Util.java:351)
        at com.mysql.jdbc.Util.<clinit>(Util.java:116)
        at com.mysql.jdbc.NonRegisteringDriver.parseURL(NonRegisteringDriver.java:672)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:277)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at com.radiobusi.ShoutGen.PlayList.<init>(Unknown Source)
        at com.radiobusi.ShoutGen.ShoutGen.<init>(Unknown Source)
        at com.radiobusi.ShoutGen.ShoutGen.main(Unknown Source)
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 en_AU
        at com.mysql.jdbc.Messages.<clinit>(Messages.java:60)
        ... 9 more
Caused by: java.util.MissingResourceException: Can't find bundle for base name com.mysql.jdbc.LocalizedErrorMessages, locale en_AU
        at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1521)
        at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1260)
        at java.util.ResourceBundle.getBundle(ResourceBundle.java:715)
        at com.mysql.jdbc.Messages.<clinit>(Messages.java:58)
        ... 9 more
Exception in thread "main" java.lang.NullPointerException
        at com.radiobusi.ShoutGen.ShoutGen.main(Unknown Source)

Mi MySQL base de datos local es en_US en Solaris, pero mi base de datos MySQL ubuntu es el también es_ES.

¿Alguien tiene alguna idea de?

No estoy seguro de qué otra información se necesita, por lo que si desea obtener más información, házmelo saber en los comentarios.

tarros que quedan empaquetados

junit-4.8.1.jar
libshout.jar
log4j-1.2.15.jar
mysql-5.1.6.jar

munderwo@opensolaris:~/ShoutGen-Java$ uname -a
SunOS opensolaris 5.11 snv_111b i86pc i386 i86pc Solaris

MySQL Versión: MySQL 5.1.30

Saludos

Marcar

¿Fue útil?

Solución 2

Creo que la razón de esta sorpresa, sorpresa, un error del usuario:)

He quitado cualquier JDBC MySQL desde mi directorio lib en mi código fuente y luego poner el conector JDBC de MySQL que viene con OpenSolaris (parece como si viniera de estudio de sol) en lib / ext de java. Una vez que hice esto todo parecía funcionar. En una inspección más cercana Creo que podría haber tenido aún el controlador JDBC de MySQL Ubuntu en mi ruta de clase y muy posiblemente antes de que el frasco multiplataforma. Por lo que sospecho que este era el problema.

Gracias por toda su ayuda!

Marcos.

Otros consejos

El error dice:

Can't find bundle for base name com.mysql.jdbc..., locale en_AU

Por lo que parece actualmente se están ejecutando en la configuración regional de Australia

Creo que primero debe intentar cambiar la configuración regional a en_US y probar si funciona o no.

[EDIT] También asegúrese de que la ruta donde se almacenan el conector de MySQL / controlador no contiene caracteres no válidos. Ver este enlace .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top