内部 Java 应用程序在 Citrix 环境中运行,但无法在用户机器上本地运行

内部 Java 应用程序在 Citrix 环境中运行,但无法在用户机器上本地运行

背景
我是我所在组织的三位系统管理员之一。我们之前有一位 Java 开发人员,他现在已经离开了组织。这位开发人员构建了几个自定义 Java 应用程序,我们内部使用这些应用程序进行客户管理等。
当这位开发人员在这里时,我们的组织在 Citrix 环境中运营。我确实有一些编程经验,但我不太精通 Java。

我们的环境
我们有 7 台 Citrix 服务器,我们的用户使用 Citrix WebAccess 连接到这些服务器以执行所有工作功能。他们的桌面使用我们域控制器上的组策略推送。用户日常功能中的所有操作都是在此 citrix 环境中完成的,这实际上是远程桌面进入我们的 citrix 服务器。为了存储文件,我们有一个连接到网络的 NAS。我们的网络上运行着一个 SAN。我们的 Java 类和 Java 源存储在我们命名为“数据服务器”的 SAN 上。

问题
由于人员有限和 Citrix 环境的复杂性,我们正在放弃 Citrix 环境。Java 应用程序目前在 Citrix 环境中运行,但我无法让应用程序在用户机器上本地加载。我查看了 Java 应用程序快捷方式的图标属性,该快捷方式位于我们 Citrix 环境中的用户桌面上。


以下是Java应用程序快捷方式图标的属性。
目标:C:\WINDOWS\system32\wscript.exe “R:\RM 程序\invisible.vbs” “R:\RM 程序\Social Enterprise\Social Enterprise 主菜单.bat”
开始于:“R:\RM 项目\社会企业”
快捷键:没有任何
跑步:普通窗口

据我所知,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。这是我在用户机器上本地安装的版本。

提前致谢。

答案1

您误解了这句话。

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 必须包含类文件所在的目录,因此您必须在客户端工作站上配置它。如果您有权访问开发人员和/或文档,请利用这些资源,而不仅仅是猜测。

相关内容