actions / runner-images

GitHub Actions runner images
MIT License
10.05k stars 3.03k forks source link

[Windows] Selenium server doesn't work with the default java version #8602

Closed Artem-applitools closed 12 months ago

Artem-applitools commented 12 months ago

Description

Recently selenium server version was updated to the 4.14.0 which dropped support of the java 8. Windows image still have default java version set to 8. Would be great to update windows default version to 11 similar to the Ubuntu image.

Platforms affected

Runner images affected

Image version and build link

Image: windows-2022 Version: 20231016.1.0 https://github.com/applitools/applitools_support_matrix/actions/runs/6572551283/job/17853878427

Is it regression?

No

Expected behavior

Selenium server should start with the default java version

Actual behavior

Currently attempt to start selenium server using default java version failing with the error:

Error: Command failed: java -jar C:\selenium\selenium-server.jar standalone --version
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/openqa/selenium/grid/Bootstrap has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:621)

    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:621) 

Repro steps

- name: start selenium server
  shell: bash
  run:  java -jar C:\selenium\selenium-server.jar standalone --version
mikhailkoliada commented 12 months ago

Hello! We do not recommend relying on default versions of any software that can be managed via actions itself in a workflow file. Please use the actions/setup-java to select a java version you need.