Если у вас установлен JRE, а не JDK, вы сможете запустить Tomcat, но не будет javac.exe. Перейдите в JAVA_HOME / bin и посмотрите, есть ли файл javac.exe. Если нет, у вас установлена JRE, и вам нужно будет получить JDK.
Просто любопытно - почему ваше приложение Tomcat вызывает javac.exe? Вы создаете классы на лету? Если да, почему бы вам не генерировать байт-код, используя вместо этого ASM?