2015-04-24 49 views
1

我在企业环境中工作,我们使用Java applet作为内部应用程序的一部分。 applet使用的Java类包含在我们用来开发的JDK中,但不包含在最终用户在其计算机上使用的JRE中。因此,每次加载小程序时,用户都似乎在从服务器请求该类。将库添加到JRE

有没有办法这个类的JRE“上加”?作为JAR还是其他?

+1

用户如何获得jre?是通过公司吗? –

+0

是的,它带有默认图像。不过,我们可以将文件和程序“推送”给用户。如果我们只是推送一个JAR到lib /文件夹,它会是合理的吗? – MarkDacek

+1

好的,他们是否使用Eclipse或其他工具编写代码?我们使用eclipse,并且在eclipse初始化程序中,我只是确保用户具有jar文件...如果没有,请将它放置在那里......或者其他类似的东西。 –

回答

2

的JDK的来自不同供应商的公共API应该是相同的。所以要么你在谈论不同的版本,要么你正在使用JDK的“内部API”。

,以确保兼容性的最简单方法是依靠其他外部库中的“小”设置为一个开发环境,并增加了一切。通过这种方式,您可以将所需的所有东西作为applet的一部分(只需在一个fat-jar中重新打包所需的所有东西)即可。

如果您“控制”了用户群:只需运送“您的”JDK或将其他库装载到用户的JDK/JRE(https://docs.oracle.com/javase/tutorial/ext/basics/install.html)的ext目录中。

你不能到JRE从applet添加的东西,这违背了在沙箱中运行的applet的想法。

+0

我想你已经把它与分机。谢谢! 具体而言,我们不打算使用小程序来写入JRE文件夹。我们希望将文件添加到JRE的某个位置,以便每次缓存过期时都不必加载它。这是一个数据转换的东西,不是特定于小程序。 – MarkDacek

+1

但是,当把东西放在分机上时要小心。 如果其他人使用相同的库,但将其集成到不同的版本中,则可能冒着类加载器问题的风险。 – cbeutenmueller

+1

我仍然会说:(重新)将它打包为applet的一部分可能是最安全的选择。 – cbeutenmueller

2

因此,每个小程序被加载时,用户似乎是从服务器请求的类。

外观可能具有欺骗性。即使文件在本地缓存,JRE也会报告从服务器下载的内容。这是出于安全原因。