rt.jar goes through several steps as it's being built, and the end result is that there's a crypto file that's not supposed to be in rt.jar. Isn't NOT_RT_JAR_LIST supposed to throttle all classes not supposed to be in rt.jar?
> I notice on Solaris that javax.crypto.SecretKey is in rt.jar but on
> Linux and Windows it's in jce.jar.
It's actually in both jars on Solaris. It definitely not supposed to be in rt.jar. I don't know why this file and only this file from javax.crypto showed up in rt.jar, and only on solaris builds.
jdk/make/common:
NOT_RT_JAR_LIST = $(ABS_TEMPDIR)/not_rt_jar.list
$(NOT_RT_JAR_LIST): FRC
$(prep-target)
$(ECHO) "#\n" >> $@
$(ECHO) "# List of subdirectories not in include in rt.jar" >> $@
$(ECHO) "# Directories must contain trailing '/'." >> $@
...deleted...
$(ECHO) "javax/crypto/" >> $@
...deleted...
$(TOTAL_JAR_FILELIST): $(JARREORDER_JARFILE) $(NOT_RT_JAR_LIST)
$(prep-target)
$(RM) $@.temp
($(CD) $(CLASSBINDIR) && \
$(BOOT_JAVA_CMD) -jar $(JARREORDER_JARFILE) \
-o $@.temp $(ABS_LIBDIR)/classlist $(NOT_RT_JAR_LIST) . )
$(MV) $@.temp $@
@($(CD) $(CLASSBINDIR) && $(java-vm-cleanup))
% grep javax.crypto \
/java/re/jdk/7/nightly/ws/build/solaris-sparc/tmp/not_rt_jar.list
javax/crypto
% jar -tvf /java/re/jdk/7/nightly/binaries/solaris-sparc/latest/jre/lib/rt.jar \
| grep javax.crypto
201 Sun Oct 25 03:51:20 PDT 2009 javax/crypto/SecretKey.class
|