BREW is an operating system. When you program in
Java, you normally are programming to be independent of the operating system, so whether you're running in BREW, Windows (Desktop or Mobile), or Linux should make absolutely no difference whatsoever. Well, except for file names and paths, but that's something
you should avoid hard-coding in any Java app regardless of platform.
The only exception to that is when you're using JNI to directly access underlying BREW services and thus violating the "Write Once/Run Anywhere" precept. For that you'd need not only a BREW emulator, but a copy of the JVM that you expect to run under BREW. Which might not be very easy to get hold of, since those things are normally welded into the handsets at the factory. Your best bet is to investigate the developer resources available from the phone service provider you're interested in.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.