我使用几台学校电脑,它们有不同的操作系统。为了确保我的工具始终可用,我喜欢在我的“流动配置文件”中安装许多程序。使用 Java SDK 可以在除 Microsoft Windows 2000 或 XP 或更高版本之外的所有操作系统上实现这一点。
原因是,尽管我拥有要安装的文件夹,并且对可执行文件拥有完全权限,但除非我是管理员用户,否则 Java 根本无法安装。我想知道为什么。当我做作业时,为了能够使用 Java 编译器,我必须自己输入 putty,这真的很不方便。
我还想知道我所想到的、但尚未尝试过的便捷解决方法是否可行,只需自己拿一台 Windows 计算机,将 J2SDK 安装到该计算机上,然后复制文件夹即可。我怀疑它可能可行,因为 Java 主要由预编译的二进制文件组成,这些二进制文件必须在每个 Windows 系统上以相同的方式工作,但我想看看其他人的想法。
不过,大多数情况下,这似乎只是一个奇怪的限制。在任何其他操作系统中,任何类似的“您必须是 root”废话都可以快速轻松地绕过。我一直很困惑,为什么你使用的计算机要强迫你成为一个可以轻易破坏你的系统的人,一个你无法对其进行沙盒处理并进行任何先发制人的损害控制的用户,然后它才会开始向你投掷手榴弹。除非绝对必要,否则我从不以特权用户身份构建或安装任何东西;Sun 实际上以这种方式 / 强制 / 执行不良的安全实践,这真的很奇怪。
答案1
因为它会将 Java 写入整个操作系统(包括其他用户)的位置。这样的操作可能会破坏之前的安装,或影响需要“其他”Java 版本的软件。
只有系统管理员才有资格检查平台安装的软件,并确保平台在安装后仍能正常运行。如果你能做这样的任务,那么实际上你应该被授予系统管理权限(尽管有些公司也有其他限制,例如与组织结构相关的限制)。
答案2
有一个(非官方的)可移植版本的 JRE: