And*_*ith 6 java ant sudo netbeans gksudo
我正在研究netbeans中的一个项目,该项目要求正在运行的项目具有root权限.
我希望每次按"运行项目"(F6)时我的项目都以root身份运行,所以使用相当于"gksudo javac Main",因为它有一个GUI.
一种选择是使用root权限启动netbeans,通过编辑"gksudo netbeans"的快捷方式轻松完成.但是由于我在netbeans中有多个项目,这意味着对于每个项目,我必须使用root权限运行netbeans,这不是我想要的.
当然,另一个选择是简单地从shell运行我的项目,但这也不是理想的.
我认为这可以通过改变这个项目build.xml文件来实现,但我很难搞清楚如何.
经过一些研究,似乎这是一个Apache Ant问题,我可以访问build.xml,我可以修改,所以我需要知道如何让Ant用sudo/gksudo运行我的项目.但是,我无法弄清楚如何做到这一点或是否有可能.
假设这是一个“Java SE”项目(而不是 Web 应用程序或 Ruby 程序)。首先,在项目属性中的“编译”下关闭“保存时编译”。
其次,添加到build.xml:
<target name="-init-macrodef-java">
<macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
<attribute default="${main.class}" name="classname"/>
<attribute default="${run.classpath}" name="classpath"/>
<element name="customize" optional="true"/>
<sequential>
<exec executable="gksudo" failonerror="true">
<arg value="--"/>
<arg value="java"/>
<arg value="-classpath"/>
<arg path="@{classpath}"/>
<arg line="${run.jvmargs}"/>
<arg value="@{classname}"/>
</exec>
</sequential>
</macrodef>
</target>
Run Code Online (Sandbox Code Playgroud)
您还可以微调其他内容,但这应该足以让您开始。
| 归档时间: |
|
| 查看次数: |
9302 次 |
| 最近记录: |