java - Jenkins 构建没有失败

标签 java maven jenkins

我想知道什么可以让 Jenkins 忽略编译错误,并以成功状态完成工作?

我们使用 Jenkins v1.590 和 Maven 1.0.2(暂时没有选择)和 SVN。我们的项目是一个Web应用程序,它被分割为5个Maven模块。 4 个生成 jar 的 Java 模块/项目和 1 个生成 war 的模块。

下面是一个编译错误的示例,该错误会随着 war 的构建而失败:

C:\DevTools\workspace-Jenkins\xxxxx_Construction_du_War_3_18_x\src\main\java\com\.....\servlet\command\compte\RemboursementAnnuler.java:54: annulerReglement(com.........base.ReglementBean,java.lang.String,com.........securite.BusinessUtilisateurBean) in com......transaction.compte.Compte cannot be applied to (com......base.ReglementBean,com.......metier.securite.BusinessUtilisateurBean)
                : new Compte().annulerReglement(reglementBean, businessUtilisateurBean);
                                  ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors

BUILD FAILED
File...... C:\.maven\cache\maven-java-plugin-1.5\plugin.jelly
Element... ant:javac
Line...... 63
Column.... 48
Compile failed; see the compiler error output for details.
Total time: 33 seconds
Finished at: Mon Nov 24 18:54:39 CET 2014

Finished: SUCCESS

为什么 Jenkins 无法检测到自身故障?可能是 Maven 1 的退出代码吗?

我尝试了一个构建 jar 的项目,但遇到了同样的问题。

有什么线索吗?

提前谢谢您。

[编辑]我的解决方案: 受到 @Jigar Joshi 建议的启发,我只是用一个简单的批处理命令调用 maven clean ... 替换了 Maven 构建步骤(因为对于 Maven 1,默认情况下命令名称是 maven,而不是 mvn)。我已经在每个模块/作业中完成了这一操作,现在每个编译错误都被正确报告为构建失败。问题实际上是 Maven 命令的返回代码。

在能够将 maven.bat 调用到作业中之前,我必须将 Maven 1.0.2 安装到经典位置(例如 c:\DevTools\maven-1.0.2 ),将 MAVEN_HOME 环境变量设置为指向该位置,并将 %MAVEN_HOME%\bin 添加到 PATH 环境变量。然后我重新启动机器,让 Jenkins 考虑所有这些,现在一切都很好。

最佳答案

这可能是 jenkins maven 插件的问题,我宁愿设置自由式 jenkins 项目并直接从 bash 调用 mvn 这样退出状态就不会成为问题

关于java - Jenkins 构建没有失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27113137/

相关文章:

Jenkins 奴隶悬挂/ Jenkins 楔入

java - 接口(interface)作为方法的参数

java - UnitTest显示测试失败,但预期结果和实际结果相同

maven - 使用maven 3,如何在插件中使用项目类路径?

java - 如何在 Java 中为 Heroku 工作进程设置最小的 Maven pom.xml 文件?

jenkins - 在Jenkins中使用全局共享库定义参数选项

jenkins - 在Jenkins Pipeline中扫描gradle Hello world项目

java - Intellij Java 2016 & Maven : how to embed dependencies in JAR?

java - 通过从左到右填充来更改按钮背景

java - 如何从 jacoco 报告(Instrumentation offline)中正确排除和包含类、包和 jar 类、lib