让netbeans用sudo运行我的项目?

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运行我的项目.但是,我无法弄清楚如何做到这一点或是否有可能.

Jes*_*ick 3

假设这是一个“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)

您还可以微调其他内容,但这应该足以让您开始。