32 位和 64 位 Eclipse 之间的区别
我有一个关于 32 位版本和 64 位版本 Eclipse 之间区别的简单问题。我需要知道实际下载之间的差异,而不是性能或类似内容的差异。
我的情况是这样的:我已经使用64位Eclipse为Eclipse项目(Java)设置了开发环境,在Subversion中对文件进行了版本控制,后来发现由于限制我们必须在32位操作系统上进行开发对于该项目的其他部分。不必下载并设置一个完全不同的 Eclipse 实例,是不是就像用 32 位版本替换启动 Eclipse 的 EXE 一样简单?或者还有其他需要替换的文件吗?
I have a quick question about the difference between the 32 and 64 bit version of Eclipse. I need to know what the difference is between the actual downloads, not the differences in performance or anything like that.
My situation is this: I have set up a development environment for an Eclipse project (Java) using 64-bit Eclipse, versioned the files in Subversion, and found out after the fact that we MUST develop on a 32-bit OS because of constraints for other parts of this project. Rather than have to download and set up a whole different instance of Eclipse, is it as simple as replacing the EXEs that launch Eclipse with 32-bit versions? Or are there other files that would have to be replaced?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
让 Eclipse 在 64 位 JVM 中运行。安装 32 位 JVM 并将项目配置为使用该 32 位 JVM。
在 Eclipse 中开发程序时,请记住先有 IDE,然后再编写程序。 Eclipse 不要求启动在与 IDE 相同的 JVM 中编写的程序。
除非您实际上正在开发 Eclipse 插件,否则您永远不会知道其中的区别。如果您正在开发 Eclipse 插件,则应该安装 32 位版本的 Eclipse 作为参考平台,并且仍然使用不同的 Eclipse 副本来开发程序。否则,您将面临引入基于开发环境的依赖项的风险(在其他人的普通运行时中可能不存在)。
Leave Eclipse running in a 64 bit JVM. Install a 32 bit JVM and configure the project to use that 32 bit JVM.
When developing a program in Eclipse, remember that there's the IDE and then there's the program being written. Eclipse has no requirements to launch the program being written in the same JVM as the IDE.
Unless you are actually developing an Eclipse-plugin, you will never know the difference. If you are developing an Eclipse-plugin, you should install a 32 bit version of Eclipse to use as your reference platform, and still develop the program using a different copy of Eclipse. Otherwise, you will run the risk of introducing dependencies based on the development environment (which might not be there in someone else's vanilla runtime).
不,我对此表示怀疑。 Eclipse 依赖于 SWT,它本质上是本机代码。 64 位版本将使用相当多的 DLL 等(在插件或功能目录中),它们与 32 位版本有很大不同。
更换并不安全。重新安装更安全,也是我能想到的唯一明智的选择。我认为您不应该调试 Equinox 启动器和无数其他组件,而不是处理您的项目。
No. I doubt it. Eclipse relies on SWT, which is essentially native code. There will be quite a few DLLs etc. (in the plugins or features directories) that will be used by the 64-bit version, that are drastically different from the 32-bit version.
Replacement is not safe. Reinstallation is safer, and the only sane option that I can think of. I don't think you should be debugging the Equinox launcher and myriads of other components, instead of working on your project.
主要区别,SWT。 Eclipse 使用的核心 UI 库。如果您在 64 位 VM 上运行,则需要 64 位版本。
SWT 是 Eclipse 用于其 UI 的本机库。这使得 Eclipse 成为 Java 和 Native 代码的混合体。
Main difference, SWT. The core UI library used by Eclipse. You need the 64-bit version if you run on a 64-bit VM.
SWT is a native library used by Eclipse for it's UI. This makes Eclipse a mix of Java and Native code.
只要你备份了源代码,我想尝试交换 exe 文件不会有什么坏处。老实说,我强烈建议您重新安装 32 位版本。没有简单的方法可以查明整个应用程序的差异以及需要替换哪些文件。
As long as you have your source code backed up, I guess it wouldn't hurt to just try swapping the exe-files. Honestly though, I strongly suggest that you reinstall with the 32-bit version. There's no easy way to pinpoint the differences of the whole application and which files you would need to replace.
SWT 32 位 jar 和 SWT 64 位 jar 是不同的。交换 EXE 不起作用。 Eclipse 中可能有更多特定于平台的 jar。您还可以在 下载页面。
The SWT 32 bit jar and the SWT 64 bit jar are distinct. Swapping EXE's will not work. There may be more platform-specific jars in Eclipse. There are also more distinct differences (for example, WPF support) that you can see on the download page.
我最近做了相反的事情。
基于 32 位 eclipse juno 平台,我创建了一个 64 位初始化程序。
为此:
在 64 位打包的 eclipse\plugins 中找到特定的 64 位封装插件 jar 文件:
org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-144807(这是一个文件夹)
org.eclipse.core.filesystem.win32.x86_64_1.1.300.v20120522-1137.jar
org.eclipse.core.net.win32.x86_64_1.0.100.v20120522-1148.jar
org.eclipse.swt.win32.win32.x86_64_3.100.1.v4236b.jar
org.eclipse.equinox.security.win32.x86_64_1.0.100.v20120522-2049.jar
将文件放入您要更改的 eclipse 的插件文件夹中
编辑文件:eclipse\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info 并添加:
org.eclipse.core.filesystem.win32.x86_64,1.1.300.v20120522-1137,plugins/org.eclipse.core.filesystem.win32.x86_64_1.1.300.v20120522-1137.jar,4,false
org.eclipse.core.net.win32.x86_64,1.0.100.v20120522-1148,plugins/org.eclipse.core.net.win32.x86_64_1.0.100.v20120522-1148.jar,4,false
org.eclipse.equinox.security.win32.x86_64,1.0.100.v20120522-2049,plugins/org.eclipse.equinox.security.win32.x86_64_1.0.100.v20120522-2049.jar,4,false
org.eclipse.swt.win32.win32.x86_64,3.100.1.v4236b,plugins/org.eclipse.swt.win32.win32.x86_64_3.100.1.v4236b.jar,4,false
(参见模式?!:plugin-name,version,plugin-name_version.jar,4,false)
在安装中将 64 位包中的 eclipse.exe 复制为 eclipse64.exe(或任何您想要的);< /p>
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-144807
-vm
C:/Program Files/Java/jre7/bin/javaw.exe
如果您执行相反的操作,从 64 位到 32 位,则必须找到 32 位的插件(没有 64 命名)并遵循相同的步骤,它应该可以工作。留意更多特定于平台的插件。
I did the opposite recently.
Based on a 32 bits eclipse juno platform, I have created a 64bit initializer.
To do that:
Locate the specific 64bits encapsuled plugin jar files in a 64bits packaged eclipse\plugins:
org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-144807 (this is a folder)
org.eclipse.core.filesystem.win32.x86_64_1.1.300.v20120522-1137.jar
org.eclipse.core.net.win32.x86_64_1.0.100.v20120522-1148.jar
org.eclipse.swt.win32.win32.x86_64_3.100.1.v4236b.jar
org.eclipse.equinox.security.win32.x86_64_1.0.100.v20120522-2049.jar
Put the files in the plugin folder of the eclipse you are changing
Edit the file: eclipse\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info and add:
org.eclipse.core.filesystem.win32.x86_64,1.1.300.v20120522-1137,plugins/org.eclipse.core.filesystem.win32.x86_64_1.1.300.v20120522-1137.jar,4,false
org.eclipse.core.net.win32.x86_64,1.0.100.v20120522-1148,plugins/org.eclipse.core.net.win32.x86_64_1.0.100.v20120522-1148.jar,4,false
org.eclipse.equinox.security.win32.x86_64,1.0.100.v20120522-2049,plugins/org.eclipse.equinox.security.win32.x86_64_1.0.100.v20120522-2049.jar,4,false
org.eclipse.swt.win32.win32.x86_64,3.100.1.v4236b,plugins/org.eclipse.swt.win32.win32.x86_64_3.100.1.v4236b.jar,4,false
(see the pattern?!: plugin-name,version,plugin-name_version.jar,4,false)
Copy the eclipse.exe from the 64bits package as eclipse64.exe ( or whatever you want) in your installation;
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-144807
-vm
C:/Program Files/Java/jre7/bin/javaw.exe
If you are doing the opposite, from 64 to 32 bits, you will have to find the plugins for 32 bits (without the 64 naming) and follow the same steps and it should work. Watch out for more platform specific plugins.