Java 16 removed the ability for Forge to reflect into Java internals - meaning, it broke some of the stuff we do.
1.17 will work with Java 16 natively, but for anyone on 1.16, you need some workarounds.
Note that if you're using any version below 1.16.5-36.1.4 (that includes 1.15), this will not work. It's not possible to launch your version of the game on Java 16.
If you're on a more recent version however...
to your JVM arguments should make it work.
Ideally, however, you should just downgrade to Java 8 until 1.17 is released.
Java 17 removed several more things that were necessary for the functioning of Forge.
Namely, some things that our version of Nashorn required.
These have been fixed, but due to other factors - namely, the vanilla launcher will not let you start the game with Java 17, it is unknown territory and very untested.
Our ongoing advice is to NOT use Java 17 until it is stabilized.