I'll lead with the tool you proposed;
cpulimit can definitely do what you want.
nohup cpulimit --background --limit=5 -- java -a dsasda -p adss
Bear in mind that 5% is 5% of a single CPU core, not of the machine's total computing power. Scale that up if you wanted to use 5% of a multi-core machine.
You probably will want to also pass the
--quiet argument to cpulimit.
If your desire isn't to specifically limit the process to 5%, but just to keep java from bogging down your machine, consider instead using
nice will lower the priority of your java processes so that they won't hog all of the CPU time & slow things down. Unlike
nice will let the java processes use more than 5% of the CPU if nothing else wants to use it.
nohup nice java -a dsasda -p adss
nice accepts one optional argument,
--adjustment=N where N is an integer ranging from 19 (very low priority) to 0 (normal) or even to -20 (very high priority, but only available if you're root). It'll default to 10 which is probably fine.