【发布时间】:2013-11-05 17:23:19
【问题描述】:
我在一个 maven (maven : V_3_0_4, java : V_1_7_0_03_64b) 项目上工作,有几个子项目。我还使用持续集成服务器 hudson。
我的一些子项目使用来自sun.misc.Signal 的api Signal,它在编译期间被标记为Signal is internal proprietary API and may be removed in a future release。我不讨论这一点。
我目睹了一些奇怪的事情,在我的开发空间提交后,hudson 编译触发并失败,并带有一些华丽的痕迹:
[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 警告放在错误中,因为它可能相关?总之这里发生了什么?
【问题讨论】: