Java

內部 java 應用程序在 citrix 環境中工作,但不會在使用者電腦上本地執行

  • March 19, 2015

背景

我是我工作的組織的三位系統管理員之一。我們以前有一個 Java 開發人員,他不再在該組織工作。開發人員建構了幾個自定義 Java 應用程序,我們在內部使用這些應用程序進行客戶端管理等。

當開發人員在這裡時,我們的組織在 Citrix 環境中執行。我確實有一些程式經驗,但我並不精通 Java。

我們的環境

我們有 7 台 Citrix 伺服器,我們的使用者使用 Citrix WebAccess 連接到這些伺服器以完成他們的所有工作職能。他們的桌面是使用我們域控制器上的組策略推送的。使用者日常功能中的所有內容都是/在此 citrix 環境中完成的,該環境本質上是遠端桌面到我們的 citrix 伺服器。為了儲存文件,我們有一個連接到我們網路的 NAS。我們的網路上還執行著一個 SAN。我們的 Java 類和我們的 Java 源儲存在我們命名為“dataserver”的 SAN 上。

問題

由於人員有限和生活在 Citrix 環境中的複雜性,我們正在遠離 Citrix 環境。Java 應用程序目前在 Citrix 環境中工作,但我無法讓應用程序在使用者電腦上本地載入。我查看了駐留在 Citrix 環境中使用者桌面上的 Java 應用程序快捷方式的圖示屬性。


以下是 Java 應用程序快捷方式圖示的屬性。

目標: C:\WINDOWS\system32\wscript.exe “R:\RM Programs\invisible.vbs” “R:\RM Programs\Social Enterprise\Social Enterprise Main Menu.bat”

開始於: “R:\RM Programs\社會企業”

**快捷鍵:**無

**執行:**普通視窗

*據我了解,WScript 用於執行 VBscript 文件,我們傳入 .vbs 和 .bat 文件。

我查看了“invisible.vbs”和“Social Enterprise Main Menu.bat”的內容,它們包含以下內容。*

隱形.VBS

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

我真的不知道這個 invisible.vbs 文件做了什麼

社會企業主菜單.BAT

@echo off
net use Y: /delete /yes
net use Z: /delete /yes 
net use Y: \\dataserver\serenic_imports /persistent:no 
net use Z: \\dataserver\javacode /persistent:no 
java org/rmsyr/socialEnterprise/SocialEnterpriseMenu "socialEnterprise.dbo" "CounterPoint" "Z:/Templates/SocialEnterprise/" "Y:/SocialEnterprise/" "Y:/XML_Save/SocialEnterprise/" "V:/LabelPrinter/"  
net use Y: /delete /yes 
net use Z: /delete /yes 
exit 

我了解該文件的大部分功能。如果我錯了,請糾正我。

1)我相信它正在釋放映射的驅動器號 Y 和 Z 2)我相信它正在將 Y 和 Z 映射到上述位置 3)然後它執行 SocialEnterpriseMenu 並傳遞引號中的參數 - 這一步讓我感到困惑有點因為我查看了數據伺服器,但找不到路徑“org/rmsyr/socialEnterprise/SocialEnterpriseMenu” 4)最後,它刪除了映射的驅動器

企圖

“invisible.vbs”和“Social Enterprise Main Menu.bat”這兩個文件位於 SAN 上。

我嘗試在使用者機器上本地創建快捷方式並輸入相同的參數,但這不起作用。沒發生什麼事。

我曾嘗試將文件本地複製到使用者桌面上,並在桌面上放置一個指向本地文件的快捷方式,但這不起作用。沒發生什麼事。

我嘗試使用組策略將快捷方式推送給使用者並指向數據伺服器上的兩個文件,但它不起作用。

這似乎是一個可以同時存在於 ServerFault 和 Stackoverlow 上的問題。有人對可能出現的問題或如何解決問題有任何想法嗎?

或者有誰知道我應該如何在我們新的組策略管理環境中部署我們的內部 Java 應用程序?

我忘了提到我們的使用者桌面是 Windows 8.1 我們的 Citrix 使用者的作業系統是 Windows XP 在我們的 Citrix 伺服器上,我們目前安裝了 JRE 6U31。這是我在使用者機器上本地安裝的版本。

提前致謝。

你誤解了這條線。

java org/rmsyr/socialEnterprise/SocialEnterpriseMenu "socialEnterprise.dbo" "CounterPoint" "Z:/Templates/SocialEnterprise/" "Y:/SocialEnterprise/" "Y:/XML_Save/SocialEnterprise/" "V:/LabelPrinter/"

正在呼叫 Java.exe,以執行表示為“org/rmsyr/socialEnterprise/SocialEnterpriseMenu”的 Java 類,該類將位於位於“R:\RM Programs\Social Enterprise”的 java 類文件中。以“org”開頭的部分不是文件路徑。

從工作站,將 R: 驅動器映射到與 Citrix 使用者相同的位置,將 CD 映射到“R:\RM Programs\Social Enterprise”,然後在那裡執行 BAT 文件。

而且(根據您的評論),由於開發人員說 CLASSPATH 必須包含類文件所在的目錄,因此您必須在客戶端工作站上對其進行配置。如果您有權訪問開發人員和/或文件,請利用這些資源,而不僅僅是猜測。

引用自:https://serverfault.com/questions/676741