Can we convert Java byte-code to machine code in a Windows that will work without the JVM ? there are many tools that wrap Jar application into an executable like Launch4J but it's always an application that depend to JVM.
As it has been pointed out, GCJ is the way to go:
GCJ is a portable, optimizing, ahead-of-time compiler for the Java Programming Language. It can compile Java source code to Java bytecode (class files) or directly to native machine code, and Java bytecode to native machine code.
They do have a manual to get you started.