Buenas...
Zeo tiene razón; pero yo cuando hago algo en Java, lo que hago para que el usuario no tenga que teclear desde la consola: javac ...tal y cual.. (que es una p**a *****) es crear un .bat o un .sh para que haga eso por el.
O si te quieres complicar un poquillo en C:
Ejecutar el javac con un execv pasandole el path y todo lo necesario... así ya tenemos algo que nos inicializa el programa... (De echo es lo que hacen con las aplicaciones java comerciales).
Para que no se queje...