У меня есть приложение Java, которое использует ChromeDriver в режиме --headless в качестве WebDriver для анализа сайта.
Я использую maven-assembly-plugin, чтобы собрать его в jar-with-зависимости. На моей локальной машине Debian приложение запускается и работает отлично. Но когда я пытаюсь запустить его на выделенном сервере Debian без графического интерфейса, это дает мне следующее:
$ java -jar parser-1.0-SNAPSHOT-jar-with-dependencies.jar
Starting ChromeDriver 2.43.600233 (523efee95e3d68b8719b3a1c83051aa63aa6b10d) on port 13694
Only local connections are allowed.
[1540730919.752][WARNING]: Timed out connecting to Chrome, retrying...
[1540730923.752][WARNING]: Timed out connecting to Chrome, retrying...
[1540730931.752][WARNING]: Timed out connecting to Chrome, retrying...
[1540730947.753][WARNING]: Timed out connecting to Chrome, giving up.
[1540730949.758][WARNING]: Timed out connecting to Chrome, retrying...
[1540730953.758][WARNING]: Timed out connecting to Chrome, retrying...
[1540730961.758][WARNING]: Timed out connecting to Chrome, retrying...
У меня на сервере установлены chrome-stable, default-jdk и chromedriver, поэтому теоретически это должно работать.
Вот код инициализации WebDriver
System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--window-size=1200x600");
options.addArguments("--no-sandbox");
options.addArguments("--start-maximized");
options.addArguments("--disable-notifications");
options.addArguments("--disable-gpu");
driver = new ChromeDriver(options);
driver.manage().window().maximize();
driver.manage().deleteAllCookies();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
В чем проблема?
Спасибо.