Java 向JRE添加库

Java 向JRE添加库,java,security,jar,applet,Java,Security,Jar,Applet,我在一个企业环境中工作,我们使用Java小程序作为内部应用程序的一部分。小程序使用的Java类包含在我们用来开发的JDK中,但不包含在最终用户计算机上的JRE中。因此,每次加载小程序时,用户似乎都在向服务器请求类 有没有办法将这个类“添加”到JRE中?作为JAR还是其他?来自不同供应商的JDK的公共API应该是相同的。所以,要么您正在谈论不同的版本,要么您正在使用JDK的“内部API” 确保兼容性的最简单方法是依赖“较小”集作为开发环境,并将其他所有内容添加为外部库。这样,您就可以将所需内容作为

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


有没有办法将这个类“添加”到JRE中?作为JAR还是其他?

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

确保兼容性的最简单方法是依赖“较小”集作为开发环境,并将其他所有内容添加为外部库。这样,您就可以将所需内容作为applet的一部分发送(只需将所需内容重新打包到一个胖罐子中)

如果您“控制”了您的用户群:只需在用户的JDK/JRE()的ext目录中提供“您的”JDK或其他库


您不能从applet向JRE添加内容,这与applet在沙箱中运行的想法背道而驰。

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

确保兼容性的最简单方法是依赖“较小”集作为开发环境,并将其他所有内容添加为外部库。这样,您就可以将所需内容作为applet的一部分发送(只需将所需内容重新打包到一个胖罐子中)

如果您“控制”了您的用户群:只需在用户的JDK/JRE()的ext目录中提供“您的”JDK或其他库


您不能从小程序向JRE添加内容,这与小程序在沙箱中运行的想法背道而驰。

您可以将打包在JAR文件中的类放在$JRE/lib/ext上。这些类将可访问使用该JRE的任何Java应用程序


阅读它,了解更多详细信息:

您可以将打包在JAR文件中的类放在$JRE/lib/ext上。这些类可以访问任何使用该JRE的Java应用程序

请阅读,了解更多详细信息:

因此,每次加载小程序时,用户似乎都在向服务器请求类

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

因此,每次加载小程序时,用户似乎都在向服务器请求类


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

用户如何获得jre?它是通过公司发布的吗?是的,它带有默认图像。不过,我们可以向用户“推送”文件和程序。如果我们只是将一个JAR推到lib/文件夹中,这是否合理?好的,他们是否使用Eclipse或其他工具来编写代码?我们使用eclipse,在eclipse初始值设定项中,我只需确保用户拥有jar文件。。。如果没有,就放在那里。。或者类似的东西。我说的是非开发人员。没有JDK但有JRE的人。在浏览器应用程序中使用。用户如何获得jre?它是通过公司发布的吗?是的,它带有默认图像。不过,我们可以向用户“推送”文件和程序。如果我们只是将一个JAR推到lib/文件夹中,这是否合理?好的,他们是否使用Eclipse或其他工具来编写代码?我们使用eclipse,在eclipse初始值设定项中,我只需确保用户拥有jar文件。。。如果没有,就放在那里。。或者类似的东西。我说的是非开发人员。没有JDK但有JRE的人。供在浏览器应用程序中使用。我想您已经使用了ext。谢谢!具体来说,我们不打算使用applet写入JRE文件夹。我们想在某处向JRE添加一个文件,这样就不必在每次缓存过期时都加载它。这是一个数据转换的东西,不是小程序特有的。但是,在将内容放入ext时要小心。如果其他人使用相同的库,但将其集成到不同的版本中,则可能会出现类加载器问题。我仍然会说:(re-)将其打包为applet的一部分可能是最安全的选择。我认为您已经使用了ext。谢谢!具体来说,我们不打算使用applet写入JRE文件夹。我们想在某处向JRE添加一个文件,这样就不必在每次缓存过期时都加载它。这是一个数据转换的东西,不是小程序特有的。但是,在将内容放入ext时要小心。如果其他人使用相同的库,但将其集成到不同的版本中,则可能会出现类加载器问题。我仍然认为:(重新)将其打包为小程序的一部分可能是最安全的选择。