Mobile fragmentation has led to difficulties when it comes to porting an application across platforms. We are not talking about 3 or 5 platforms, but rather up to hundreds of different phone platforms/families with different capabilities!
Whats worse, J2ME itself has internal fragmentation too!
MoSync - Write in C/C++, compile for all! Includes WM, Symbian, J2ME, etc… Need to verify how good it is though.
Metismo - Abstraction layer for J2ME