如何实现JSR规范

时间:2009-04-23 11:15:38

标签: java specifications portlet jsr168 jsr

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

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

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

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

4 个答案:

答案 0 :(得分:9)

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

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

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

答案 1 :(得分:3)

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

答案 2 :(得分:3)

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

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

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

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

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

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

祝你好运!

答案 3 :(得分:0)

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