【发布时间】:2020-04-04 12:20:40
【问题描述】:
我正在尝试安装 JDK 和 Java IDE,我有双启动(Windows 10 + Ubuntu 18.04),我可以在两个系统中使用相同的二进制包吗?
【问题讨论】:
标签: eclipse netbeans operating-system binaryfiles java-11
我正在尝试安装 JDK 和 Java IDE,我有双启动(Windows 10 + Ubuntu 18.04),我可以在两个系统中使用相同的二进制包吗?
【问题讨论】:
标签: eclipse netbeans operating-system binaryfiles java-11
这取决于“二进制包”的组成。
如果它只包含 .class 文件和其他与机器无关的资源,那么可以在多个操作系统甚至不同的硬件架构上使用相同的二进制文件。
如果它还包括本机库等,那么这些库将是操作系统和特定于硬件架构的。
如果您的应用程序“包”是一个自包含的 JAR 文件,那么可以在 JAR 中包含为多个平台编译的本机库;见How to bundle a native library and a JNI library inside a JAR?
如果包实际上是主机系统的包管理器所理解的可安装包(例如 Linux RPM、DEB)或本机安装程序可执行文件,那么这些也是特定于平台的。
这还取决于您如何处理应用程序中特定于平台的事情;例如在不同平台上运行不同的外部命令,与 Windows 注册表对话,LDAP 与 Active Directory,不同的文件系统属性和行为等。
【讨论】:
不,你不能轻易拥有一个包。我不了解 NetBeans,但 Eclipse 和 Java 是特定于操作系统的,因为它们使用许多在每个操作系统中都不同的 API。
【讨论】:
sh shell 脚本和两个 Windows 二进制文件(32/64 位)。因此,它只是一个多平台存档。