2

我正在尝试更好地将 Eclipse 与我的 build.xml 集成。我的构建文件为程序的本机部分调用 GNU Make,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。修改/etc/sudoers以包含允许部署者以root身份执行单个命令(例如deploy )的别名。制作部署者 NOEXEC:。将部署者密码存储在一个不可见的文件中,例如具有用户访问权限的.deployconf400 :例如或600. 把密码加载进去ant,根据需要使用:

<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 回答