不鼓励使用太阳。*

时间:2014-10-23 08:02:40

标签: java deprecated sun

我实际上正在开发一个Java小程序来访问HSM以便对数据进行签名。

所以我使用了很多Sun软件包(PKCS11包装器和sunPKCS11提供程序)。

我看到了这个链接:http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html告诉我们不鼓励使用防晒包。

但我想确定原因。我实际上是在Java 1.6 x86 JDK中编译我的代码。

在更新Java版本时,最终用户是否有可能无法使用我的应用程序? 或者只有在我更改JDK以编译代码时才会出现问题? 或两种情况都是?

提前感谢您的澄清。

2 个答案:

答案 0 :(得分:6)

您在链接的文档中已经清楚地说明了这一点:

  

直接调用sun。*包的Java程序无法保证在所有兼容Java的平台上运行。实际上,即使在同一平台上的未来版本中,也不能保证这样的程序能够正常工作。

因此,如果最终用户未使用与您相同的JDK,则可能无法使用您的应用。

是的,将来使用较新版本的JDK时可能会出现问题。

答案 1 :(得分:3)

主要问题是那些包/类可能不存在于同一JDK的其他JDK或版本中。您可能会在另一个JDK上编译代码时出现问题,但主要是您应该考虑的用户:如果他们的运行时缺少所需的类,他们最终会尝试运行一些不可用的代码,具体取决于您构建应用程序的方式结果可能从功能简单不可用到应用程序崩溃。

请注意,如果您正在托管应用程序,例如当它是Web应用程序时,也可能出现这种情况。我们遇到了一些成像类的问题,这些类阻止我们在服务器上升级Java版本,而不必更改应用程序。