19

Getting this under Eclipse straight out of the gate.

Code:

    System.setProperty("webdriver.chrome.driver" ,  "/path/to/selenium/chromedriver");
    WebDriver driver = new ChromeDriver();

Throws Exception:

Exception in thread "main" java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter.<init>(Ljava/util/concurrent/ExecutorService;)V from class org.openqa.selenium.net.UrlChecker
    at org.openqa.selenium.net.UrlChecker.<init>(UrlChecker.java:67)
    at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:190)
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:181)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:250)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:236)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:137)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:184)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:171)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:124)

OSX 10.12 Selenium 3.4 ChromeDriver 2.31

user207421
  • 305,947
  • 44
  • 307
  • 483
Igor Urisman
  • 717
  • 1
  • 6
  • 22
  • So, does the browser start? Are you sure error is thrown at line `WebDriver driver = new ChromeDriver();` ? Does the user have right permissions on `/path/to/selenium/chromedriver` directory? – Ivan Pronin Aug 11 '17 at 21:31
  • 2
    @IvanPronin (a) Of course not; (b) see the stack trace for proof; (c) user permissions are irrelevant: see the Javadoc of `IllegalAccessError`. – user207421 Aug 12 '17 at 00:35
  • Same happens to me on windows. – archmisha Aug 13 '17 at 19:52
  • try `RemoteWebDriver` instead `ChromeDriver` – min Feb 08 '18 at 17:48

3 Answers3

19

Setting this back to 22.0 helped for me.

    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>22.0</version>
    </dependency>
Walter
  • 191
  • 1
  • 2
5

Setting this back to 22.0 helped for me.

Version 22.0 didn't fix the problem for me, but 19.0 did.

compile group: 'com.google.guava', name: 'guava', version: '19.0'
maharr
  • 121
  • 9
0

the main problem is you have a jar conflict.

selenium has compile dependency on guava, you can find this at: https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver/3.141.0

enter image description here

if you project has another version of guava, it may use wrong guava version.

to exclude duplicate dependency in maven, you can add right guava version explicitly, in this case:

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>25.0-jre</version>
</dependency>
宏杰李
  • 11,820
  • 2
  • 28
  • 35