Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何实现JSR规范_Java_Specifications_Portlet_Jsr168_Jsr - Fatal编程技术网

Java 如何实现JSR规范

Java 如何实现JSR规范,java,specifications,portlet,jsr168,jsr,Java,Specifications,Portlet,Jsr168,Jsr,我正在考虑实现一两个JSRAPI。我还没有阅读整个规范(计划在编写实现代码时阅读),但我对它们非常熟悉。我已经读到JSR过程包括实现一个测试兼容性工具包(TCK),用于测试所述JSR实现 在我开始编写一系列单元测试来验证我的实现的正确性/完整性之前,我真的很想使用这个TCK,但我不知道它是否适合我。在下载所有文件并在谷歌上搜索之后,我找不到任何可以定义为给定JSR的TCK的东西 因此,我的问题基本上是:为了生成自己的JSR规范实现,我需要采取哪些步骤,以及如何验证我确实做到了这一点 出于价值考虑

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

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

因此,我的问题基本上是:为了生成自己的JSR规范实现,我需要采取哪些步骤,以及如何验证我确实做到了这一点


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

如果已经有一个可行的实现,为什么要实现规范?似乎有很多不必要的工作,但收效甚微……

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

您可能需要支付许可证才能访问TCK。当然,在JavaSE规范中,Sun确实会为TCK收取许可费,除非您有资格作为非盈利组织免费获得TCK


也就是说,我相信不同的JSR会有所不同,所以正如我上面所说的,最好的办法是联系JSR规范负责人。

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

对于我将要介绍的最坏情况,我向davance道歉

由于之前多次这样做,我强烈建议您在阅读规范以及JSR专家组提供的任何类型的电子邮件存档之前,不要编写一行代码

JSR规范通常充满了歧义,可以用多种不同的方式进行解释。以一种非常有条理的方式来研究它,会让你在专家组解散和毫无反应之前,尽快向专家组提出相关问题

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

TCK通常太贵,一个人买不起

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


祝你好运

确实有很多实现,但它们不适合我想做的。如果它们不符合你的要求,也许你选择了错误的产品。如果规范说某些东西必须提供功能,而实现者这样做,而你不喜欢其中任何一个,那么为什么你会重视规范?这不是规范。我只是说,答案可能很简单,因为你需要去其他地方看看……我不知道这里的细节,但是实现JSR有它的好处——如果您计划无论如何都要实现它,并且spec(API)已经足够好了(但impl(s)还不够好),为什么不使用它呢?它也可以极大地帮助采用---“非标准”的替代方案通常必须解释为什么它们不支持“标准API”。为什么要实现一个不符合您要求的规范?这似乎是一个标志,一个人应该继续前进,找到别的东西。谢谢。我将更详细地介绍开源实现。值得一提的是,TCK并不总是很有价值——我最熟悉JSR-173的情况,据我所知,TCK并没有那么有用。相反,开源测试套件(StaxTest)的覆盖范围更广,可以免费使用。但这可能只是一个孤立的实例,严格来说,传递TCK是证明代码符合JSR的唯一官方方式。