我在詹金斯设立了一个maven项目。我已经对代码进行了更新,提交并将其推送到远程(Git Repository)。我将jenkins配置为maven目标作为测试并立即单击构建,然后在Jenkins中编译类时出现错误。正如我所知,Maven只接受了那些在src / test / java路径下存在的类。当我通过Jenkins构建项目时,我得到了以下编译错误,
[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ myTestMaven ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to C:\Users\s\.jenkins\workspace\meven_jenkin_sele\myTestMaven\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/Users/s/.jenkins/workspace/meven_jenkin_sele/myTestMaven/src/main/java/com/testingMeven/myTestMaven/App.java:[3,30] package org.testng.annotations does not exist
[ERROR] /C:/Users/s/.jenkins/workspace/meven_jenkin_sele/myTestMaven/src/main/java/com/testingMeven/myTestMaven/App.java:[16,6] cannot find symbol
symbol: class Test
location: class com.testingMeven.myTestMaven.App
[INFO] 2 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
我的git回购链接https://github.com/SACTAN/myTestMaven
我尝试为App.java添加注释但仍然得到相同的错误。当我在我的Local上运行相同的代码时工作正常,但没有通过Jenkins工作。什么可能出错的想法?
答案 0 :(得分:1)
您不能在test
中使用范围src/main
的依赖项。如果您想在主代码中使用TestNG,则可以从POM中的TestNG <scope>test</scope>
中删除dependency
。
这适用于任何Maven依赖,而不仅仅是TestNG。阅读Dependency Scope了解详情。