当前位置: 首页 > 面试题库 >

Jenkins无法通过Eclipse找到为硒项目添加的外部Jars

陆野
2023-03-14
问题内容

我在Eclipse中有一个Maven项目。我的项目用于自动化测试。因此,在我的pom.xml中,我添加了所有依赖项。

例如:Testng,Cucumber,Selenium-java等。

我已经安装了Jenkins,并使用Jenkins配置了自动化项目,以便在与Jenkins执行时,将执行该项目。

我已经将所有依赖项添加到pom.xml中,因此没有任何问题。但是现在,当我在Eclipse中从外部添加jar文件时,Jenkins无法识别它,因此不会执行脚本。

这是我的测试用例:

package com.giveback360.tests.sampletest;

import org.openqa.selenium.WebDriver;
import com.giveback360.utils.OpenBrowserHelp;
import cucumber.api.java.en.When;
import org.openqa.selenium.firefox.FirefoxDriver;
import atu.testrecorder.ATUTestRecorder;
import atu.testrecorder.exceptions.ATUTestRecorderException;

public class SampleTest {

/**
* Initialize the webdriver.
*/
 private WebDriver driver = new FirefoxDriver();

/**
 * Initialize recorder.
 */
 ATUTestRecorder recorder;

 /**
 * Open browser.
 * @throws InterruptedException the InterruptedException.
 */
 @When("Open browser maximize")
  public void browserOpen() throws InterruptedException, ATUTestRecorderException {

 recorder = new ATUTestRecorder("/home/username/workspace/project/scriptVideos","TestVideo",false);
 recorder.start();

 driver.get("http://www.google.com");
 Thread.sleep(4000);
 driver.quit();

 recorder.stop();

 }

}

我在Jenkins中的Console输出是:

java.lang.NoClassDefFoundError: atu/testrecorder/exceptions/ATUTestRecorderException
Caused by: java.lang.ClassNotFoundException: atu.testrecorder.exceptions.ATUTestRecorderException


Results :

Failed tests: 
 SampleTest>AbstractTestNGCucumberTests.setUpClass:16 » NoClassDefFound atu/tes...

Tests run: 3, Failures: 1, Errors: 0, Skipped: 2

[ERROR] There are test failures.

问题是由于我在Eclipse中为此项目添加的ATUTestRecorder jar文件所致。

问题是如何指示詹金斯找到那些JAR文件?我应该在Jenkins中配置它还是应该怎么做?

任何帮助是极大的赞赏。提前致谢。


问题答案:

将第三方库放到lib您项目的文件夹中,然后将其添加到Maven中<scope>system</scope>

<dependencies>
  <dependency>
    <groupId>com.example</groupId>
    <artifactId>mylib</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/mylib.jar</systemPath>
  </dependency>
</dependencies>


 类似资料:
  • 当我在使用JavaSpringHibernateStruts2Eclipse项目时。我使用buildpath->addjar选项从工作区内部的文件夹中添加JAR。即使类可用,也会显示class not found异常。 如果我把这些jar文件放在WEB-INF/lib文件夹中,一切正常。我应该将这些文件保存在lib中吗?我可以将这些jar包含在一个单独的文件夹中,然后使用eclipse confi

  • 我有一个示例项目,设置如下: 其中“测试项目”依赖于“测试库”,而最后一个依赖于“纯Java库”,编译该项目并启动此设置工作正常。 我现在正在考虑导入以前的Eclipse工作区,并与Android studio一起工作,问题是项目设置不同,我希望保持这种方式。 我尝试了很多配置,但没有找到一种方法来引用父文件夹范围之外的项目(在示例中为'root')。 在许多平台/模块中,您可以使用“..”但这对

  • 我无法将我的项目添加到Eclipse中的服务器-为什么? 我安装了所有必要的工具(Web Dev、Java EE、服务器适配器和Tomcat本身,一切) 我配置了运行时环境,将所有Java版本调整为JDK 6(因为它应该在Tomcat 6上运行),但是在创建新服务器时,我可以添加资源的对话框的左侧仍然是空的。 我还能试什么? PS:我在Windows上使用的是Eclipse v4.2 (Juno)

  • 我有一个带有两个外部库的Java项目。在Eclipse中一切都运行良好,当导出为可运行的JAR时没有错误。但是,当我使用会抛出臭名昭著的。 我尝试使用所有三个导出选项(提取、包、复制),但没有成功。 (使用eclipse)

  • 我正在使用Linux-Ubuntu14.04。我安装了詹金斯2.7.2。 我在Eclipse中创建了一个maven项目,并遵循了此链接中提供的说明http://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html. 在完成项目设置后,我将其作为Maven项目执行,构建成功。 然后我安装了Jenkins,安装了Maven集

  • 问题内容: 如何将外部库和嵌套的外部库添加到android项目? 我的项目结构(不允许更改) 应用/ App1 / build.gradle settings.gradle 图书馆/ 图书馆1 / 建立等级 settings.gradle 图书馆2 / 建立等级 settings.gradle 图书馆3 / 建立等级 settings.gradle 图书馆4 / 建立等级 settings.gra