【发布时间】:2020-02-15 05:48:24
【问题描述】:
这是一个奇怪的错误。将 selenium 依赖项添加到我的 maven 项目的 pom 并将其上传到 lambda 后,它说它无法解压缩文件。然而,在删除依赖项之后,lambda 能够很好地解压缩文件(但是它会提供一个之后找不到的类)。我试过一一删除依赖,但每一个都会触发错误。
关于如何解决这个问题的任何想法?
找不到类错误
org/openqa/selenium/WebDriver: java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver
lambda 无法压缩错误
Calling the invoke API action failed with this message: Lambda was not able to unzip the file
导致问题的依赖项
<dependency>
<groupId>org.seleniumhq.webdriver</groupId>
<artifactId>webdriver-common</artifactId>
<version>0.9.7376</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
更新的依赖项(用于 Vishal)
<dependency>
<groupId>org.seleniumhq.webdriver</groupId>
<artifactId>webdriver-common</artifactId>
<version>0.9.7376</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>2.0rc2</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-support</artifactId>
<version>3.141.59</version>
</dependency>
配置
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
【问题讨论】:
-
我现在已将 jars 添加为单独的依赖项,但仍然遇到问题
-
我认为 chromedriver 依赖项搞砸了。您可以尝试一次不使用 chrome 驱动程序吗?如果可行,请尝试更改 chrome 驱动程序依赖项的版本
-
@Vishal 无论是否依赖 chrome,它仍然会出现解压缩错误
-
尝试在你的 pom 中包含这个:Selenium-api
-
除了 selenium-java-
,您可能还需要:selenium-remote-driver- 之前执行 mvn install.jar 和 selenium-support- .jar。你已经有的罐子。但是先试试上面的那个。因为硒存在传递依赖关系。还要确保在运行 lambda
标签: java maven selenium aws-lambda