0

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

我的一些子项目使用在编译期间标有警告的 apiSignal为. 我不讨论这一点。sun.misc.SignalSignal 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

由于哈德逊的配置没有改变,我有点迷茫。另一个奇怪的迹象是,这些错误出现在一个子项目上,但没有出现在其他也使用Signal只有警告的 api 的子项目上。

在与同事进行了一些询问后,我们发现错误在其他地方(这是我的错误之一:关注来自 的伪错误Signal),在修复它之后,警告又回来了,错误Signal消失了。

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

4

2 回答 2

0

我得到了与以前警告相同的错误。

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

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

于 2013-11-28T09:28:23.393 回答
0

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

我想过去在 1.6 中处于警告级别的内容在 1.7 中更改为错误级别。

于 2015-03-04T00:41:11.513 回答