Below is How I started the appium server
CommandLine command = new CommandLine("/Users/"+strAutomationUser+"/.nvm/versions/node/v6.0.0/bin/node");
command.addArgument("/Users/"+strAutomationUser+"/.nvm/versions/node/v6.0.0/bin/appium",false);
command.addArgument("--address", false);
command.addArgument("127.0.0.1");
command.addArgument("--port", false);
command.addArgument(strAppiumPort);
command.addArgument("-bp", false);
command.addArgument(strBootstrapPort);
command.addArgument("--full-reset", true);
command.addArgument("--session-override", true);
//command.addArgument("--no-reset", true);
DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();
DefaultExecutor executor = new DefaultExecutor();
executor.setExitValue(1);
try {executor.execute(command, resultHandler);
Thread.sleep(5000);System.out.println("Appium server started.");}
catch (IOException e)
{e.printStackTrace();}
catch (InterruptedException e)
{e.printStackTrace();}
//Capabilities
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("newCommandTimeout", 60 * 5);
capabilities.setCapability("platformName","iOS");
capabilities.setCapability("deviceName",strIOSDeviceName);
capabilities.setCapability("automationName","XCUITest");
capabilities.setCapability("udid",strIOSUdid);
capabilities.setCapability("deviceName",strIOSDeviceName+"("+strIOSUdid+")");
File f = new File(strIOSPath);
if(f.exists()) {capabilities.setCapability("app",strIOSPath);}
else{String strErrorMsg = "The IOS application path didn't exists ("+strIOSPath+")";Reporter.log(""+strErrorMsg+"");Assert.fail(strErrorMsg);return null;}
capabilities.setCapability("launchTimeout", 60000);
capabilities.setCapability("sendKeyStrategy","setValue");
IOSDriver iosdriver = new IOSDriver(new URL("http://127.0.0.1:"+strAppiumPort+"/wd/hub"), capabilities);
Hope that helps
DD