rt.jar ceased to exist in java9. When you say "I need it to be part of rt.jar", that means there's only thing to do, which is, to stick to JDK8, where this problem doesn't exist.
There are ways (very hacky ways) to get a class into the base module (which is no longer rt.jar - rt.jar no longer exists, its java.base.jmod - this is where the usual classes in the java util package live (you can check this: $JAVA_HOME/bin/jmod list $JAVA_HOME/jmods/java.base.jmod will list a whole bunch of stuff, including classes/java/util/ArrayList.class.
You can use the jmod tool to inject your class into there, at which point you have a modified (i.e. forked) JDK distribution. You can also just straight up clone the openjdk project (its open source), make your change in a branch, and then compile all that, as you're effectively forking the JDK at this point.
I don't think it's possible to ship your update as a separate, runtime-invokable patch. i.e. you can't invoke a stock java JDK9+ such that your code runs as if it was in the java.base.jmod.
If you insist on going down that right, what I'd try next is to make an agent, at least, if what you're doing is overwriting an existing java class. If you're trying to add a new one, I'd just fix whatever tool expects your class to be in rt.jar - that tool must be updated anyway, given that rt.jar no longer exists. While you're at it, might as well fix it. And if its update now looks only in the jmods, well, if you're going to patch something, its probably a lot simpler to patch that project than the OpenJDK itself.
-patch-module module=locationwhere “location” is a jar file or directory. Just think about it, what is “java.base=java.util” supposed to tell the JVM?