最近我们升级到最新的selenium版本3.4.0。虽然在POM更新后一切正常,但经过一些成功的构建后,构建错误开始出现,而我们的代码或POM没有任何明显的变化。
以下是我的POM的样子:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ssssss.fffff.xxxxxx</groupId>
<artifactId>xxxxxx-xxxxxx-portal</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>machine-learning-selenium</artifactId>
<description>Automated Web Testing</description>
<packaging>jar</packaging>
<name>Automated Selenium Test</name>
<properties>
<selenium.version>3.4.0</selenium.version>
</properties>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.3</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.4.01</version>
</dependency>
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-rest-java-client-api</artifactId>
<version>2.0.0-m19</version>
</dependency>
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-rest-java-client-core</artifactId>
<version>2.0.0-m19</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.0.16.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.0.10.Final</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-client</artifactId>
<version>9.4.5.v20170502</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>3.4.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
</plugin>
</plugins>
</build>
当我进行全新安装时,这是它在控制台中抛出的内容:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.411 s
[INFO] Finished at: 2017-06-23T14:28:46+05:30
[INFO] Final Memory: 38M/439M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project automated-selenium: Could not resolve dependencies for project com.xxxxx.yyyy.zzzzz:automated-selenium:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at org.seleniumhq.selenium:selenium-server:jar:3.4.0 -> org.seleniumhq.selenium:selenium-java:jar:3.4.0 -> org.seleniumhq.selenium:htmlunit-driver:jar:2.26 -> org.seleniumhq.selenium:selenium-api:jar:[3.3.1,4.0.0): No versions available for org.seleniumhq.selenium:selenium-api:jar:[3.3.1,4.0.0) within specified range -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project automated-selenium: Could not resolve dependencies for project com.xxxxx.yyyy.zzzzz:automated-selenium:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at org.seleniumhq.selenium:selenium-server:jar:3.4.0 -> org.seleniumhq.selenium:selenium-java:jar:3.4.0 -> org.seleniumhq.selenium:htmlunit-driver:jar:2.26 -> org.seleniumhq.selenium:selenium-api:jar:[3.3.1,4.0.0)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:221)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:127)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:245)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:199)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project com.xxxxx.yyyy.zzzzz:automated-selenium:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at org.seleniumhq.selenium:selenium-server:jar:3.4.0 -> org.seleniumhq.selenium:selenium-java:jar:3.4.0 -> org.seleniumhq.selenium:htmlunit-driver:jar:2.26 -> org.seleniumhq.selenium:selenium-api:jar:[3.3.1,4.0.0)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:180)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:195)
... 23 more
Caused by: org.eclipse.aether.collection.DependencyCollectionException: Failed to collect dependencies at org.seleniumhq.selenium:selenium-server:jar:3.4.0 -> org.seleniumhq.selenium:selenium-java:jar:3.4.0 -> org.seleniumhq.selenium:htmlunit-driver:jar:2.26 -> org.seleniumhq.selenium:selenium-api:jar:[3.3.1,4.0.0)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:291)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:316)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:172)
... 24 more
Caused by: org.eclipse.aether.resolution.VersionRangeResolutionException: No versions available for org.seleniumhq.selenium:selenium-api:jar:[3.3.1,4.0.0) within specified range
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.filterVersions(DefaultDependencyCollector.java:648)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:394)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:363)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:351)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.doRecurse(DefaultDependencyCollector.java:504)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:458)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:363)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:351)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.doRecurse(DefaultDependencyCollector.java:504)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:458)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:363)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:351)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.doRecurse(DefaultDependencyCollector.java:504)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:458)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:363)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:351)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:254)
... 26 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
当我通过jenkins运行它时会发生同样的问题。 我尝试过以下操作:
没有用!
答案 0 :(得分:1)
我认为在你的pom artifactId selenium-api 它应该是 selenium-java 。 请参阅以下内容:
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.4.0</version>
</dependency>
答案 1 :(得分:0)
以下是您的问题的答案:
错误说明了一切:
Failed to collect dependencies at org.seleniumhq.selenium:selenium-server:jar:3.4.0 -> org.seleniumhq.selenium:selenium-java:jar:3.4.0 -> org.seleniumhq.selenium:selenium-api:jar:[3.3.1,4.0.0)
当您在selenium-server
中使用pom.xml
依赖关系时,如下所示:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.4.0</version>
</dependency>
&#13;
Selenium Documentation在这里明确提到
如果您的项目将在Web应用程序容器中运行,那么selenium-server工件依赖于 servlet-api-3.1.0 工件,您应该排除该工件。
添加servlet-api-3.1.0 artifact
将解决您的问题。
如果这回答你的问题,请告诉我。