我想知道我的机器上安装的eclipse的位类型,无论是32位还是64位版本,因为我需要java中的一个函数来返回eclipse的位版本。
感谢
答案 0 :(得分:1)
还有一个Eclipse API。
您需要在插件中添加org.eclipse.core.runtime
依赖项,然后在org.eclipse.core.runtime.Platform
类中有一个静态方法getOSArch()
,它返回当前的系统架构。您可以将其与同一类中定义的常量(例如ARCH_X86_64
或ARCH_X86
)进行比较。
如javadoc中所述,如果未在命令行中指定体系结构,则默认为java.lang.System.getProperty("os.arch")
。
答案 1 :(得分:1)
您可以从eclipse主目录中的 eclipse.ini 文件中查看。
示例:强>
如果--launcher.library 插件/ org.eclipse.equinox.launcher.win32.win32.x86_的 64 强> 1.1.200.v20130521-0416 那么它是64位,如果--launcher.library 插件/ org.eclipse.equinox.launcher.win32.win32.x86 的 32 强> _1.1.200.v20130521-0416 那么它是32位。
答案 2 :(得分:0)
假设这个程序将在 Eclipse中运行(例如是一个插件),那么System Properties对象中会有很多属性可以告诉你。例如:
java.vm.name包含当前JVM的名称(至少对于Hotspot)包括“32位”或“64位”。
org.osgi.framework.processor告诉你“框架主机 - 计算机的处理器名称”,在我的Eclipse上是“x86-64”。
osgi.arch告诉你我的Eclipse上的“平台架构”是“x86-64”。
现在还不完全清楚最后两个是什么意思,所以你应该做一些实验。
如果您需要在Eclipse外部执行此操作,那么您可以尝试在Eclipse可执行文件上运行Linux / Unix“file”命令并分离生成的字符串。
答案 3 :(得分:0)
最后我认为插件目的System.getProperty("osgi.arch")
是完美的,它会返回32位eclipse的x86和64位eclipse的x86_64。