WSAD Generate RMIC ResourceBundle Problem
843833Oct 15 2003 — edited Nov 15 2006Hello Everyone,
If anyone could answer this, I'd be grateful. This has even IBM people stumped.
I created a Resource Bundle in the src directory a WSAD project. It's named Messages_en_US.properties. I've tested getting strings from this resource bundle, in an ejb, on Websphere, at runtime and it works fine.
The problem comes when I want to create a static enum class which references this resource bundle. When I do that and run Generate RMIC, I get the following error in a window:
com.ibm.etools.rmic.RMICException: RMIC Command returns RC = 1. The problems which stopped RMIC are displayed, and have also been recorded in the log file.
Then in the log file, I get this exception:
!MESSAGE java.lang.ExceptionInInitializerError: java.util.MissingResourceException: Can't find bundle for base name com.retek.mdm.app.attribute.service.impl.Messages, locale en_US
at java.lang.Throwable.<init>(Throwable.java)
at java.lang.Throwable.<init>(Throwable.java)
at java.util.MissingResourceException.<init>(MissingResourceException.java:39)
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:724)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:558)
at com.retek.mdm.domain.attribute.AttributeFormatType.<clinit>(AttributeFormatType.java:33)
at java.lang.Class.initializeImpl(Native Method)
at java.lang.Class.initialize(Class.java)
at java.lang.ClassLoader.resolveClassImpl(Native Method)
at java.lang.ClassLoader.resolveClass(ClassLoader.java:617)
at com.ibm.tools.rmic.iiop.DirectoryLoader.loadClass(DirectoryLoader.java:102)
at com.ibm.tools.rmic.iiop.CompoundType.loadClass(CompoundType.java:348)
at com.ibm.tools.rmic.iiop.Type.initClass(Type.java:994)
at com.ibm.tools.rmic.iiop.Type.setRepositoryID(Type.java:1011)
at com.ibm.tools.rmic.iiop.CompoundType.initialize(CompoundType.java:756)
at com.ibm.tools.rmic.iiop.ValueType.initialize(ValueType.java:251)
at com.ibm.tools.rmic.iiop.ValueType.forValue(ValueType.java:111)
at com.ibm.tools.rmic.iiop.CompoundType.makeType(CompoundType.java)
at com.ibm.tools.rmic.iiop.CompoundType$Method.<init>(CompoundType.java)
at com.ibm.tools.rmic.iiop.CompoundType.addAllMethods(CompoundType.java:1302)
at com.ibm.tools.rmic.iiop.ValueType.initialize(ValueType.java:240)
at com.ibm.tools.rmic.iiop.ValueType.forValue(ValueType.java:111)
at com.ibm.tools.rmic.iiop.CompoundType.makeType(CompoundType.java)
at com.ibm.tools.rmic.iiop.CompoundType$Method.<init>(CompoundType.java)
at com.ibm.tools.rmic.iiop.CompoundType.addAllMethods(CompoundType.java:1302)
at com.ibm.tools.rmic.iiop.RemoteType.isConformingRemoteInterface(RemoteType.java:217)
at com.ibm.tools.rmic.iiop.RemoteType.initialize(RemoteType.java:166)
at com.ibm.tools.rmic.iiop.RemoteType.forRemote(RemoteType.java:85)
at com.ibm.tools.rmic.iiop.CompoundType.addRemoteInterfaces(CompoundType.java:1434)
at com.ibm.tools.rmic.iiop.ImplementationType.initialize(ImplementationType.java:161)
at com.ibm.tools.rmic.iiop.ImplementationType.forImplementation(ImplementationType.java:87)
at com.ibm.tools.rmic.iiop.StubGenerator.getTopType(StubGenerator.java:143)
at com.ibm.tools.rmic.iiop.Generator.generate(Generator.java:279)
at sun.rmi.rmic.Main.doCompile(Main.java:547)
at sun.rmi.rmic.Main.compile(Main.java:142)
at java.lang.reflect.AccessibleObject.invokeI(AccessibleObject.java:215)
at java.lang.reflect.Method.invoke(Method.java:255)
at com.ibm.etools.rmic.RMICClassLoader.runCompile(RMICClassLoader.java)
at com.ibm.etools.rmic.RMICOperation.invokeRMICInJVM(RMICOperation.java:466)
at com.ibm.etools.rmic.RMICOperation.rmic(RMICOperation.java:561)
at com.ibm.etools.rmic.RMICOperation.generateStubs(RMICOperation.java:206)
at com.ibm.etools.ejbdeploy.ui.plugin.rmic.UIRMICBeansOperation.generateStubs(UIRMICBeansOperation.java:132)
at com.ibm.etools.rmic.RMICOperation.run(RMICOperation.java:642)
at com.ibm.etools.ejbdeploy.ui.plugin.DeployRMICBeansOperation.generateRMICCode(DeployRMICBeansOperation.java:319)
at com.ibm.etools.ejbdeploy.ui.plugin.DeployRMICBeansOperation.run(DeployRMICBeansOperation.java)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java)
at com.ibm.etools.ejbdeploy.ui.plugin.DeployRunnableWithProgress.run(DeployRunnableWithProgress.java:92)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:101)
Apparently, because I created a static variable, RMIC tries to instantiate it, and then it can find it. Any ideas?
Thanks,
Tim