Meu caso é meio estranho.
Eu tenho esta classe de ResouceBundle
package com.eximia.rh.ui.i18n;
import java.util.Locale;
import java.util.ResourceBundle;
/**
*
* @author Leonardo
*/
public class Bundle {
public static String getFromBundle(String Key){
ResourceBundle defaultResourceBundle = ResourceBundle.getBundle("com.eximia.rh.ui.i18n.bundle", Locale.getDefault());
return defaultResourceBundle.getString(Key);
}
}
E tenho esta classe de teste para ela.
package com.eximia.rh.ui.i18n;
import junit.framework.TestCase;
/**
*
* @author Leonardo
*/
public class BundleTest extends TestCase {
public void testGetFromBundle() {
assertNotNull(Bundle.getFromBundle("ApplicationTitle"));
}
}
Bom, o problema no caso é que no netbeans quando rodo a classe com o botão direito e executar o teste passa certinho. Porém quando eu construo a aplicação o teste não passa.
Ele não encontra o bundle.
A mensagem é esta:
java.util.MissingResourceException: Can't find bundle for base name com.eximia.rh.ui.i18n.bundle, locale pt_BR
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:777)
at com.eximia.rh.ui.i18n.Bundle.getFromBundle(Bundle.java:13)
at com.eximia.rh.ui.i18n.BundleTest.testGetFromBundle(BundleTest.java:12)
Caused by: java.lang.NoClassDefFoundError: com/eximia/rh/ui/i18n/bundle (wrong name: com/eximia/rh/ui/i18n/Bundle)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2289)
at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1364)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1328)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1282)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1282)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1224)
... 29 more
Parece que ele perde o classpath? Alguém tem uma idéia disso? Estranho que os testes isolados funcionam.
Agradeço