protectedvoidbasicRun(String[] args)throwsException {
System.getProperties().put("eclipse.startTime", Long.toString(System.currentTimeMillis()));//$NON-NLS-1$
commands= args;
String[] passThruArgs = processCommandLine(args);
if(!debug)
// debug can be specified as system property as well
debug= System.getProperty(PROP_DEBUG) !=null;
setupVMProperties();//设置VM属性
processConfiguration();//读取configuration/config.ini配置文件
// need to ensure that getInstallLocation is called at least once to initialize the value.
// Do this AFTER processing the configuration to allow the configuration to set
// the install location.
getInstallLocation();
// locate boot plugin (may return -dev mode variations)
URL[] bootPath = getBootPath(bootLocation);
//Set up the JNI bridge. We need to know the install location to find the shared library
setupJNI(bootPath);
//ensure minimum Java version, do this after JNI is set up so that we can write an error message
//with exitdata if we fail.
if(!checkVersion(System.getProperty("java.version"), System.getProperty(PROP_REQUIRED_JAVA_VERSION)))//$NON-NLS-1$
return;
setSecurityPolicy(bootPath);//设置执行权限
// splash handling is done here, because the default case needs to know
// the location of the boot plugin we are going to use
handleSplash(bootPath);
beforeFwkInvocation();
invokeFramework(passThruArgs, bootPath);//启动Eclipse内核
}