Mac OS X Sierra上的OMNeT ++ IDE崩溃

Asa*_*ama 7 macos omnet++ macos-sierra

最近我们在几台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
Run Code Online (Sandbox Code Playgroud)

当我调查时,我发现虽然应用程序包具有指定的路径,但IDE(即Eclipse)无法找到插件.

我以前不知道它是如何运作的.也许OS X Sierra改变了一些东西.

因为我想拼命地让它工作,我发现了一个肮脏的黑客.

1 右键单击omnetpp.app

2 选择"显示包裹内容"

3转到Contents/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
Run Code Online (Sandbox Code Playgroud)

4更改给予绝对路径的所有路径(安装到OMNeT ++ 5.0的位置).例,

../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
Run Code Online (Sandbox Code Playgroud)

/Users/myhome/omnet-5.0/ide/plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
Run Code Online (Sandbox Code Playgroud)

非常感谢正确的解决方案.

提前致谢.

Asa*_*ama 4

因此,经过更多调查后,我发现 IDE 实际上存在 2 个问题。

  1. 运行 IDE (omnetpp.app) 时,它崩溃,并且 error.log 中记录的错误表明存在权限问题。

  2. 即使在让 IDE 运行之后,IDE 也会抱怨缺少插件类。虽然安装手册指出安装来自 Oracle 的最新 JRE,但由于它要求我们安装来自 Apple 的较旧 JRE,因此运行java -version时版本号指向 1.6.0.65 。

因此,以下是解决方案的步骤(请忽略我在上一篇文章中描述的肮脏黑客)。

  1. 从 Oracle安装最新的 JDK(不是 JRE)。当您现在从终端运行java -version时,您应该看到比 1.6.0.65 更高的版本。我安装的版本是1.8.0.111。

  2. 完全删除omnet文件夹(omnet-5.0)并按照安装手册中描述的步骤重新构建OMNeT++

  3. 运行xattr -rc omnetpp.app解决权限问题。

希望这对其他人有帮助。