In JDK 18, attempting to run rmiregistry results in the following:
$ rmiregistry
java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
at java.base/java.lang.System.setSecurityManager(System.java:416)
at java.rmi/sun.rmi.registry.RegistryImpl.createRegistry(RegistryImpl.java:499)
at java.rmi/sun.rmi.registry.RegistryImpl.main(RegistryImpl.java:556)
The workaround is to allow set the security manager property on the command line to allow programmatic setting of the security manager:
$ rmiregistry -J-Djava.security.manager=allow
Alternatively, the security manager could be enabled directly on the command line:
$ rmiregistry -J-Djava.security.manager
Either works, though they give different warning messages.
The property should be set by the rmiregistry launcher instead of requiring the user to provide it.