2015-04-24 47 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也會報告從服務器下載的內容。這是出於安全原因。