如何实现JSR规范

我正在考虑实现一个或两个JSR API。 我还没有阅读整个规范(计划是在编写实现代码时阅读它们),但我对它们非常熟悉。 我已经读过JSR流程包括实现测试兼容性工具包(TCK)来测试所述JSR实现。

在我开始编写一系列unit testing以validation我的实现的正确性/完整性之前,我真的想使用这个TCK,但我不知道它是否适用于我。 下载所有文件并在google搜索后,我找不到任何可以定义为给定JSR的TCK的东西。

所以我的问题基本上是:为了生成我自己的JSR规范实现,我需要做哪些步骤,以及如何validation我确实已经这样做了。

对于它的价值,我正在考虑实施JSR-168和JSR-286,但我认为这与这个问题无关。

您可能需要做的是联系给定JSR的规范负责人。 他们可以为您提供有关获取TCK的更多信息。

您可能需要支付许可才能获得对TCK的访问权限。 当然,对于Java SE规范,Sun确实会收取TCK的许可费,除非您有资格作为非营利组织免费接收它。

也就是说,我相信它从JSR到JSR各不相同,所以正如我上面所说,最好的办法是联系JSR规范主管。

哇,这是一个非常雄心勃勃的项目,通常由公司或大型开源团队接管。 如果你有足够的决心去做,我建议你看看一些开源实现。 提到的JSR由Pluto实现。 可能值得查看源代码分发。

对于我将要呈现的最坏情况,请致歉。

从以前做过这么多次之后,我强烈建议在不仅阅读规范而是阅读JSR专家组的任何类型的电子邮件存档之前不要编写一行代码。

JSR规范通常充满歧义,可以通过多种不同方式进行解释。 以一种非常有条理的方式完成它将让你在解散之前尽快向专家组提出相关问题并且变得反应迟钝,希望如此。

TCK通常是一组测试,不能确保您的实现甚至远程工作,它只是说您是规范的合法实现。

对于单个人来说,TCK通常太贵了。

显而易见,实现JSR的方式取决于您所针对的操作系统和虚拟机。 更好的JSR通常是可以用纯Java实现的JSR。

祝你好运!

如果已经有工作实现,为什么要实现规范? 好像很多不必要的工作似乎没什么好处……