Заставить netbeans выполнять мой проект с sudo?

JavaScript не имеет области действия блока (но это имеет закрытие так, давайте назовем его даже?).

var x = 1;
{
   var x = 2;
}
alert(x); // outputs 2

6
задан Andy Smith 1 December 2009 в 16:04
поделиться

4 ответа

Предполагая, что это проект "Java SE" (в отличие, скажем, от веб-приложения или программы 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>

Есть и другие вещи, которые вы можете точно настроить, но этого должно быть достаточно, чтобы вы началось.

3
ответ дан 17 December 2019 в 22:13
поделиться

Почему gksudo вместо sudo java Main? В любом случае вы можете просто настроить свой файл sudoers (в / etc) так, чтобы пароль не требовался от вашего пользователя, и все будет в порядке.

0
ответ дан 17 December 2019 в 22:13
поделиться

запустить Netbeans пользователем super

-2
ответ дан 17 December 2019 в 22:13
поделиться

A very dumb tip: create new Ruby application, put it near to your java project, and put the following to main.rb

PROJECT_DIR = "MyJavaApp"
# These must be relative to java project's dir or absolute paths
CLASSPATH = %w[dist/lib/*.jar /usr/share/some/other/lib.jar]
SUDO_BIN = "gksudo"
# Append your app's jar file into cp!
MAIN_CLASS = "com.andrew.myapp.Main"
# Put your own opts here (-Xmx, -Xms, etc)
JVM_OPTS = "-client" 

###############################################
# Calculating project's root. 1st dir is a root of Ruby project, second is a common root
projroot = File.expand_path(File.dirname(__FILE__) + "/../.." 
java_args = JVM_OPTS
cp = []
# It uses globbing to expand *.jar style stuffs
CLASSPATH.each do |path|
  cp += path.start_with?("/") ? Dir[path] : Dir[File.join(projroot, PROJECT_DIR, path)]
end
java_args += "-classpath " + cp.join(File::PATH_SEPARATOR) + " "
# The heart of our work...
system(SUDO_BIN + " java " + java_args + " " + MAIN_CLASS)

Set the ruby project to main project.

I didn't tried it, but there must be only typos.

I know, this is not a best solution, but NB starts java projects internally and seems doesn't provides a configuration option to do it.

Btw: this solution needs installing Ruby on Rails plugin into NetBeans. The script doesn't exits while your java program is running.

Important: this script assumes it runs under Unix-compatible OS (where an absolute path begins with '/')!

0
ответ дан 17 December 2019 в 22:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: