通过Jenkins运行Maven项目(Git存储库)时编译错误

时间:2016-02-20 17:32:45

标签: git maven jenkins testng

我在詹金斯设立了一个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工作。什么可能出错的想法?​​

1 个答案:

答案 0 :(得分:1)

您不能在test中使用范围src/main的依赖项。如果您想在主代码中使用TestNG,则可以从POM中的TestNG <scope>test</scope>中删除dependency

这适用于任何Maven依赖,而不仅仅是TestNG。阅读Dependency Scope了解详情。