First, check the manifest file in the resources/META-INF/ folder. It should look something like this (note that MIDlet-Name can be basically whatever you want):
Code:
MIDlet-Name: ASimpleJavaBot
MIDlet-Version: 1.0.0
MIDlet-Vendor: FIRST
MIDlet-1: spike, , com.hedgehog.spike.spike
MicroEdition-Profile: IMP-1.0
MicroEdition-Configuration: CLDC-1.1
If that looks ok, then you should note that you code will throw a NullPointerException on robotInit(). You never instantiate RobotDrive.driver, as Eric mentioned, so any method call involving it will nuke the JVM from orbit. You probably don't need to call your drive methods twice (in RobotDrive.run() and spike.operatorControl()). In addition, I'm a bit confused by how you're attempting to drive your robot; you seem to be using three joysticks, using driver and secondary in RobotDrive.run(), driver and driver2 in spike.operatorControl(). Lastly, you may actually want to start the RobotDrive thread.
Java is a very object-oriented language, so you may want to investigate using static fields so that you don't have to instantiate your Inputs and Joysticks classes. Over
here you can see our code. We made big steps in properly using Object Orientation to make our code not be a complete mess, and kinda succeeded.