2

Eclipseをbuild.xmlとより適切に統合しようとしています。私のビルドファイルはプログラムのネイティブ部分に対してGNUMakeを呼び出し、Makefileはsudoを使用してコンパイルされたライブラリをシステムパスに移動します。残念ながら、これにはパスワードの入力が必要であり、Eclipseの端末はユーザー入力を受け入れません。したがって、ビルドインEclipseを実行した結果は次のようになります。

 [exec] sudo: no tty present and no askpass program specified
 [exec] make: *** [install] Error 1

この問題を回避する方法はありますか?アリのビルドを上げて、他の方法で根を張ることはできますか?

4

3 に答える 3

3

/ etc / sudoersファイルを設定して、Eclipseが実行されているユーザー、およびライブラリーの移動に使用しているコマンドに対してNOPASSWD:を指定することができます。visudoコマンドを使用して、これを/ etc/sudoersの最後に追加できます。

eclipseuser ALL = NOPASSWD: /bin/cp

eclipseuserはシステム上のファイルを上書きする権限を持っているため、これにはセキュリティ上のリスクがあることに注意してください。

于 2010-03-25T19:03:50.553 に答える
2

別のアカウントを設定します(例:deployer ) 。デプロイヤーがrootとしてデプロイなどの単一のコマンドを実行/etc/sudoersできるようにするエイリアスを含めるように変更します。デプロイヤを作成します。デプロイヤのパスワードを非表示のファイルに保存します。たとえばユーザーのみのアクセス権を持つ.deployconfなどです。にパスワードをロードし、必要に応じて使用します。 NOEXEC:400600ant

<loadfile srcfile = "${user.home}/。deployconf"property= "deployconf" />

これは<signjar/>でうまく機能しますが、<exec/>では試していません。改行を.deployconfに入れないようにするには、ある程度の努力が必要になる場合があります。

于 2010-03-25T20:12:10.890 に答える
0

おそらくばかげた「解決策」ですが、デプロイを別のステップにしてみませんか?ビルドにパッケージアーティファクト(DEP、RPMなど)を作成させます。

于 2010-03-25T19:32:46.653 に答える