title: Is there a non-remote way to specify geckodriver location when you cannot specify it by System property or Path?
body: <p>In my application I cannot set geckodriver executable location using <code>System.setProperty</code> and I cannot set it in the path.</p>
  
  <p>Why? Because my app is multi-tenant... and each tenant has their own directory where Firefox and Geckodriver is copied and ran. This is due to bugs in the Firefox + Geckodriver, where infinite javascript loops and several other situations cause Firefox to hang until manual kill. Sometimes quit fails to kill things completely as well. So we need to supply a custom geckodriver location within the JVM <strong>per-tenant</strong>. Thus the problem.</p>
  
  <p>So I am instead using:</p>
  
  <pre><code>driverService = new GeckoDriverService.Builder()
            .usingDriverExecutable(new File(geckoDriverBinaryPath))
            .build();
  driverService.start();
  RemoteWebDriver driver = new RemoteWebDriver(driverServiceUrl, capabilities);
  </code></pre>
  
  <p>But that is making me use a RemoteWebDriver when I am not remote. </p>
  
  <p>Is there a better way to do this? </p>