Az 1.8-as Java helyett állítsunk be 17-t:
<properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> </properties>
<dependencies> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>7.8.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.36</version> </dependency> <dependency> <groupId>org.jcommander</groupId> <artifactId>jcommander</artifactId> <version>1.83</version> </dependency> </dependencies>
Ha átírtuk a pom.xml állományt a VSCode feldob egy ablakot a jobb alsó sarokban:
A build file was modified. Do you want to synchronize the Java classpath/configuration? Source: Language Support for Java(TM... [ Yes ] [ Always ] [ Never ]
Válaszoljunk Yes vagy Always-el.
Ha minden csomagból a legújabbat verziót állítjuk be függőségnek konfliktushoz vezethet.
Jelenlegi slf4j-api verzió 2.0.9. De a testng 7.8.0-nak az slf4j-api-ból a 1.7.36 verzió szükséges. H a 2.0.9-s slf4j-api töltjük le, akkor a következő hibaüzenet mutatja a VSCode szerkesztő:
Dependency conflict in testng: org.slf4j:slf4j-api:1.7.36 conflict with 2.0.9(Maven dependency conflict)
Lehetséges hibaüzenet:
java.lang.UnsupportedClassVersionError: org/testng/ITestNGListener has been compiled by a more recent version of the Java Runtime
A maven.compiler.target értéket 1.8-ról állítsuk nagyobbra. Már 1.9 beállítással is működik a tesztelés.