launch4j is currently limited to generating x86 executables. These work fine on win32-x86 and win32-x86_64 platforms. They even work on the new win32-arm64 machines with the new snapdragon chips.
I can use the x86 launch4j executable to launch a arm64 java executable to then run my application. This too works already.
x86 translation on arm64 works surprisingly well. However, there is a 2-4 seconds startup cost on first start, presumably some x86-to-arm64 translation running, generating arm64 code and caching it somewhere. A native arm64 launch4j exe would run instantly.
Feature Request: Support the creation of x86 exe files (for x86 and x86_64) and arm64 exe files.
If the project accepts donations / hiring the developer as freelancer then I'd be happy to contribute to the project financially.