繁体   English   中英

如果Java“随处可见”,为什么Windows会有eclipse / netbeans版本

[英]Why there's a eclipse/netbeans version for Windows if java “run everywhere”

我是Java编程的初学者,研究过“一次编写,可以在任何地方运行”的东西,但是我注意到,当我下载Eclipse或Netbeans IDE(用Java编写)时,会有一个Windows版本和其他OS的版本。

如果Java程序“可以在任何地方运行”,则不应有“版本”(按我的初衷)。 我搜索后发现,这是因为(至少是Eclipse,对Netbeans不了解),该程序使用了一个无法跨平台工作的GUI库。

所以我的问题是:

1)为什么要使用一个能够释放Java最强大功能之一的库? 它更快或更漂亮吗?
2)除了使用该库之外,还有其他方法可以使Java程序无法跨平台工作吗?

提前致谢。

当我下载Eclipse或Netbeans IDE(用Java编写)时,有一个Windows版本和其他OS版本。

如果Java程序“可以在任何地方运行”,则不应有“版本”(按我的初衷)。

日食

Eclipse使用SWT ,后者使用本 GUI库,因此每个OS /平台都需要一个Version。

NetBeans的

与Eclipse相比,NetBeans使用标准Java Swing作为GUI,因此不需要本机GUI库。

在这里您不正确:您可以下载特定于操作系统的版本(例如Windows / Linux / Mac OS),但不必这样做

要下载,只需选择“ OS独立的Zip”作为Platform即可 您将获得一个ZIP存档,可以将其提取并在每个受支持的平台上运行。 但是,在Windows上,您必须运行exe,在Linux上,需要运行shellscript来启动IDE(检查bin目录)。

特定于操作系统的版本的主要功能是其安装程序,因此,最终的NetBeans对所有人都是通用的。

1)为什么要使用一个能够释放Java最强大功能之一的库? 它更快或更漂亮吗?

只需搜索SWT / Swing比较(以及有关优点/缺点的讨论)。

2)除了使用该库之外,还有其他方法可以使Java程序无法跨平台工作吗?

是的,一切都取决于特定于平台的东西。

例子:

  • JNA / JNI(Java本机调用)
  • 路径( C:/whatever在Linux上C:/whatever都不工作,而/home/whatever在Windows上C:/whatever也不工作)
  • 信封。 变量等
  • 调用其他程序

只需查找“如何保持Java跨平台”之类的内容,然后做与建议相反的操作即可。

总的来说,java在这里做得很好,但是出于恶意,您可以杀死任何“跨平台”开发;-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM