dポイントプレゼントキャンペーン実施中!

表題について、ご教授いただきたく投稿いたします。
端的に申すと「Eclipse内でのプログラムの実行にroot権限をもたせるにはどうすればよいのか」ということです。

現在Javaを用いてパケットを生成するプログラムを作成しております。
開発環境にはEclipse SDK 4.2.0 Junoを用いており、パケット生成にはJpcapライブラリ(ver .7最新)を利用しています。
OSはMac OS X10.7.5(Lion)です。

例えばJpcapのサンプルプログラム内の内に以下のような部分があります。
23行目 : NetworkInterface device=JpcapCaptor.getDeviceList()[Integer.parseInt(args[0])];
デバイスリスト配列の中から引数で与えた番号のインターフェースを格納するコードです。
こういったコードを含むプログラム全体をEclipseの実行ボタンで実行すると以下のようなエラーが発生します。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Traceroute.main(Traceroute.java:23)

同様のプログラムをコマンドラインからsudoで実行したところ、エラーは発生せず正常に動作しました。
そのため、Eclipse内での実行にsudo権限がないためデバイス周りへのアクセスなどができなかったことが原因と考えています。

つきまして開発を容易にするため、Eclipse内でもsudo実行できる方法をご存知の方がおりましたら、ぜひともご教授お願い致します。
ちなみにsudo open -a EclipseでEclipseの起動自体にsudoをつけてみましたが、こちらでは上手くいきませんでした。


どうぞよろしくお願い致します。

A 回答 (1件)

open コマンドは sudo を付けても元のユーザ権限で実行されるみたいです。



sudo /Applications/Eclipse/eclipse
または
sudo /Applications/Eclipse/Eclipse.app/Contents/MacOS/eclipse

みたいに実行すると良いと思います。(たぶん)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!