使用 Java 和 IntelliJ 在 OSX 上开发程序。处理网络套接字和 ICMP。因此,该程序需要在 OSX 上以 root 或 sudo 身份运行。程序可以在 sudo 下从 IntelliJ 外部的终端窗口正常运行。但是,我想从 IntelliJ (V9) 调试并运行它。在 IntelliJ 中它出错(我需要 root 权限来枚举网络设备)。我知道如何在 IntelliJ 中传递程序和虚拟机参数,但现在如何点击“运行”和/“调试”并让它在 sudo 下运行?需要的基本上是 sudo java ...... MyProgram 而不是 java ..... MyProgram 任何想法或解决方法。
我想出了一个答案,并想分享它,以防其他人遇到这个问题。为了解决这个问题,我借鉴了我在进行网络编程时使用QT和QT Creator所做的事情。
在 OSX 上,我打开一个终端窗口,然后 cd 到 /Applications/IntelliJ IDEA 9.0.3.app/Contents/MacOS。在那里你会找到一个名为 idea 的文件,它可以启动 IDE。我将其作为 sudo (sudo ./idea) 运行。这照顾了 Intellij 启动的任何内容的权限,我可以根据需要调试和单步执行我的代码。
sudo /Applications/IntelliJ IDEA 9.0.3.app/Contents/MacOS/idea
由于这是一台开发机器并且我可以控制它,因此在这种情况下安全性不是问题。
希望它能帮助别人。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)