最近我们在几台OS X(MacOS Sierra)机器上安装了OMNeT ++ 5.0,发现启动时IDE崩溃了。汇编没有问题。这是我们得到的崩溃报告(部分堆栈跟踪)。
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.CoreFoundation 0x00007fff98a41bf4 CFBundleGetFunctionPointerForName + 36
1 org.eclipse.Eclipse 0x0000000100003006 findSymbol + 66
2 org.eclipse.Eclipse 0x0000000100001791 original_main + 1572
3 org.eclipse.Eclipse 0x0000000100001e50 main + 1230
4 org.eclipse.Eclipse 0x0000000100000fec start + 52
当我调查时,我发现虽然应用程序包具有指定的路径,但IDE(即Eclipse)无法找到插件。
我以前不知道它是如何运作的。 OS X Sierra可能会发生一些变化。
因为我想拼命地让它发挥作用,我发现了一个肮脏的黑客。
1
右键单击omnetpp.app
2
选择“显示包裹内容”
3
转到目录/ MacOS并使用文本编辑器打开omnetpp.ini。你应该看到这样的东西
-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20150204-1316
-name
OMNeT++ IDE
-vmargs
-Xms256m
-Xmx1024m
-XX:MaxPermSize=320m
4
更改绝对路径的所有路径(安装OMNeT ++ 5.0的路径)。例如,
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
到
/Users/myhome/omnet-5.0/ide/plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
非常感谢正确的解决方案。
提前致谢。
答案 0 :(得分:4)
因此,在进行了一些调查之后,我发现IDE实际上存在2个问题。
运行IDE(omnetpp.app)时,崩溃并且error.log中记录的错误表明存在权限问题。
即使在运行IDE之后,IDE也会抱怨缺少插件类。虽然安装手册指向从Oracle安装最新的JRE,但由于它要求我们从Apple安装较旧的JRE,因此在运行 java -version 时版本号指向1.6.0.65。
所以,以下是解决方案的步骤(请忽略我在上一篇文章中描述的脏黑客行为)。
从Oracle安装最新JDK (而不是JRE)。当您从终端运行 java -version 时,您应该看到比1.6.0.65更高的版本。我安装的版本是1.8.0.111。
完全删除omnet文件夹(omnet-5.0)并按照安装手册中描述的步骤再次构建OMNeT ++ 。
运行 xattr -rc omnetpp.app 以解决权限问题。
希望这对其他人有所帮助。