The l10n fix for 4251597 that was integrated into Kestrel build M caused a regression in rmid such that it can find no message resources in any locale. This causes confusing error messages like the following:
[terrier] 55 % rmid -foo
rmid: [missing resource file: rmid.syntax.illegal.option]
[missing resource file: rmid.usage]
The problem is simply caused by an erroneous update to rmid's makefiles for the 4251597 fix. For example, the changes to this makefile:
build/solaris/sun/rmi/rmid/GNUMakefile
for 4251597, delta 1.11, are the following:
24,25c24,25
< RESOURCE_FILES = rmid.properties
< RESOURCE_DEST_DIR = $(CLASSBINDIR)/sun/rmi/rmid/resources
---
> RESOURCE_FILES = rmid.properties rmid_ja.properties
> RESOURCE_DEST_DIR = $(CLASSBINDIR)/sun/rmi/server/resources
The changes to RESOURCE_FILES was OK, because it just added the new resource file for the "_ja" locale, but the changes to RESOURCE_DEST_DIR altered the path at which all of rmid's resource files are installed to a path, so they are no longer located where the runtime implementation code (sun.rmi.server.Activation) expects to find them. Therefore, none of rmid's resource are found for any locale.
A similar change was also made to rmid's win32 makefile:
build/win32/sun/rmi/rmid/Makefile
[terrier] 55 % rmid -foo
rmid: [missing resource file: rmid.syntax.illegal.option]
[missing resource file: rmid.usage]
The problem is simply caused by an erroneous update to rmid's makefiles for the 4251597 fix. For example, the changes to this makefile:
build/solaris/sun/rmi/rmid/GNUMakefile
for 4251597, delta 1.11, are the following:
24,25c24,25
< RESOURCE_FILES = rmid.properties
< RESOURCE_DEST_DIR = $(CLASSBINDIR)/sun/rmi/rmid/resources
---
> RESOURCE_FILES = rmid.properties rmid_ja.properties
> RESOURCE_DEST_DIR = $(CLASSBINDIR)/sun/rmi/server/resources
The changes to RESOURCE_FILES was OK, because it just added the new resource file for the "_ja" locale, but the changes to RESOURCE_DEST_DIR altered the path at which all of rmid's resource files are installed to a path, so they are no longer located where the runtime implementation code (sun.rmi.server.Activation) expects to find them. Therefore, none of rmid's resource are found for any locale.
A similar change was also made to rmid's win32 makefile:
build/win32/sun/rmi/rmid/Makefile
- relates to
-
JDK-4251597 Kestrel: tools.jar does not include with some resources
- Closed