发生其他错误时,警告会变为错误

时间:2013-11-05 17:23:20

标签: maven hudson

我在maven(maven:V_3_0_4,java:V_1_7_0_03_64b)项目上工作,有几个子项目。我也在使用持续集成服务器hudson。

我的一些子项目使用来自Signal的api sun.misc.Signal,在编译期间标记为Signal is internal proprietary API and may be removed in a future release的警告。我不讨论这一点。

我目睹了一些奇怪的事情,在我的开发空间提交之后,哈德逊编辑被触发并失败了一些宏伟的痕迹:

[ERROR] toto.java[42,42] : Signal is internal proprietary API and may be removed in a future release

由于哈德森的配置没有改变,我有点失落。另一个奇怪的迹象是,这些错误出现在一个子项目中,而不是其他也出现在使用api Signal的地方,只有警告。

在与同事进行一些调查之后,我们发现错误发生在其他地方(这是我的错误之一:专注于来自Signal的伪错误)并在修复之后警告又回来了Signal上的错误消失了。

目睹这些旗帜的“改变状态”是否标准?或者它是否专用于专有API:即,hudson检测错误并将专有API警告置于错误中,因为它可能是相关的?总之这里发生了什么?

2 个答案:

答案 0 :(得分:0)

我遇到了同样的错误,这些错误之前都是警告。

[ERROR] <deleted>.java:[6,15] Unsafe is internal proprietary API and may be removed in a future release

当我在另一个代码片段发现问题并修复它时,那些问题也得到了解决。但我建议你在终端上进行mvn clean install而不是使用IntelliJ构建。

答案 1 :(得分:0)

这可能不是你的情况,但对我有用的是在项目POM文件中使用旧版本的父POM。问题是我使用自己的聚合POM,它指向公司的父POM的最新版本,它指向JDK 1.7。恢复到使用JDK 1.6的旧版本POM后,错误消失了。

我认为曾经在1.6中的警告级别改为1.7中的错误级别。