2012-02-06 77 views
44

Estoy tratando de establecer argumentos de línea de comandos en un proyecto de Java de Netbeans 7.1 en Windows 7 de 64 bits.Netbeans cómo establecer argumentos de línea de comandos en Java

Netbeans no está pasando los argumentos que le doy.

Voy a Project ->Properties ->Run -> y escribo los argumentos junto a "Argumentos", sin embargo, los argumentos no se pasan al programa. ¿Cómo los paso?

+0

Por favor, muestre su clase principal. ¿Estás usando un build.xml creado por NetBeans o tu propio build.xml? – Paul

+0

¿Estás seguro de que estás editando la configuración de ejecución que se usa cuando ejecutas el proyecto? Asegúrese de seleccionar la configuración correcta en el menú desplegable de la barra de herramientas –

+0

Si desea que funcione para un único archivo ... llame al principal en alguna otra clase 'MainProgram.main (new String [] {" arg0 "," arg1 "});' – Sorter

Respuesta

42

Supongo que está ejecutando el archivo usando Run | Run File (o shift-F6) en lugar de Run | Run Main Project. El archivo de ayuda de NetBeans 7.1 (¡F1 es su amigo!) Indica el parámetro Argumentos:

Agregue argumentos para pasar a la clase principal durante la ejecución de la aplicación. Tenga en cuenta que los argumentos no se pueden pasar a archivos individuales.

He verificado esto con un pequeño fragmento de código:

public class Junk 
{ 
    public static void main(String[] args) 
    { 
     for (String s : args) 
      System.out.println("arg -> " + s); 
    } 
} 

puse Run -> Argumentos a x y z. Cuando ejecuté el archivo por sí solo, no obtuve ningún resultado. Cuando me encontré con el proyecto de la salida fue:

arg -> x 
arg -> y 
arg -> z 
+0

Podemos pasar el argumento de la línea de comandos incluso a un único archivo Java ahora usando un plugin contribuido por la comunidad para NetBeans IDE 8.0 https://github.com/tusharvjoshi/nbrunwithargs –

+0

Oh, sí, este complemento fue creado para Ant solo proyectos basados ​​en Java. Lo modificaré para que no muestre el NPE en los proyectos de Maven. Este plugin necesita funcionalidad adicional para los proyectos de Maven, el plugin está abierto para solicitudes de extracción y cualquier ayuda proporcionada por la comunidad para esta función –

+0

Si tengo la oportunidad, echaré un vistazo para ver qué se necesita para hacer que funcione también con proyectos de Gradle, aunque Gradle mismo requiere un complemento, por lo que no estoy seguro si eso es posible. – Paul

18

la etapa (1): crear el código de Java que puede recibir un argumento como argumento de línea de comandos.

class TestCode{ 
    public static void main(String args[]){ 
     System.out.println("first argument is: "+args[0]); 
    } 
} 

la etapa (2): En NetBeans (im utilizando 7,3) en el windown de salida en el fondo, haga clic en el botón amarillo (Re-ejecuta con diferente parámetro). Esto abrirá una nueva ventana (Run Ant Target Window).

el paso (3): Si el argumento que necesita para aprobar es 'testArgument', entonces aquí en esta ventana pase el argumento como application.args = testArgument

Esto le dará a la salida como sigue en la misma ventana de salida:

primer argumento es: testArgument

+1

cómo se agregan varios argumentos – Anup

9

Para un proyecto Maven usando NetBeans 8.x:

  1. Haga clic en Ejecutar >> Establecer Configuración del proyecto >> Personalizar
  2. Seleccionar acciones
  3. archivo Ejecutar Seleccione vía principal par nombre
  4. Set/valor() para incluir los argumentos.
  5. Haga clic OK

Un ejemplo de nombre/valor par podría parecerse a:

javax.persistence.jdbc.password=PASSWORD 

A continuación, ejecute su proyecto:

  1. abierto y enfocar la clase Java que incluye main(...).
  2. Presione F6 para ejecutar el programa.

Los parámetros de línea de comandos deben aparecer en la ventana Ejecutar.

Tenga en cuenta que para obtener el valor del formulario con el programa, use System.getProperty().

acciones adicionales para el archivo de prueba , proyecto de ejecución , y otras formas de ejecutar la aplicación puede tener argumentos definidos. Repita los pasos anteriores para las diferentes acciones para lograr esta tarea.

+0

¿Qué pasa si Set Project Configuration está en gris? Proyecto Grails. – user2782001

+0

Las variables de entorno obtenidas de 'System.getProperty()' no son lo mismo que "argumentos de línea de comandos". Si necesita proporcionar los argumentos como se ve en la matriz 'args' en' main (String [] args) ', entonces es necesario editar la variable Maven' exec.args' La respuesta de "Leif Gruenwoldt" muestra una forma de Haz eso. – Enwired

0

si está utilizando MyEclipse y desea añadir argumentos antes de ejecutar el programa, a continuación, haga lo siguiente: 1.0) Ejecutar -> Ejecutar Config 2.1) Haga clic en "Argumentos" en el panel derecho 2.2) añadir sus argumentos en el cuadro "Program Args", separado por

2

En NetBeans IDE 8.0 puede usar un complemento aportado por la comunidad https://github.com/tusharvjoshi/nbrunwithargs que le permitirá pasar argumentos mientras ejecuta el comando Ejecutar proyecto o Ejecutar archivo único.

Para pasar argumentos para ejecutar comandos del Proyecto, ya sea que usted tiene que establecer los argumentos en las propiedades del proyecto del panel Ejecutar, o utilizar el nuevo comando disponible después de instalar el plugin que dice Ejecutar con argumentos

Para pasar argumentos de línea de comandos para un archivo Java que tiene el método principal, simplemente haga clic en el método y seleccione Ejecutar con el comando Argumentos, de este complemento

ACTUALIZACIÓN (24 mar 2014) Este complemento ya está disponible en NetBeans Plugin Portal, lo que significa que se puede instalar desde Complementos cuadro de diálogo de los complementos disponibles que se muestran a partir de complementos aportados por la comunidad, en NetBeans IDE 8.0

Run with Arguments plugin as shown in Plugin dialog box

+0

No funciona para mí .. Dice que no se puede encontrar la clase principal – wmfairuz

+0

No funciona para los proyectos de Maven - vea este [informe de error] (https://github.com/tusharvjoshi/nbrunwithargs/issues/3) –

+1

Oh, sí , este complemento se creó solo para proyectos Java basados ​​en Ant. Lo modificaré para que no muestre el NPE en los proyectos de Maven. Este complemento necesita funcionalidad adicional de los proyectos de Maven, el complemento está abierto para solicitudes de extracción y cualquier ayuda proporcionada por la comunidad para esta función –

8

Si se trata de un proyecto Maven entonces Netbeans se está ejecutando la aplicación utilizando el exec-maven-plugin de por lo que necesitará añadir sus opciones en el exec.args propiedad existente se encuentra en el de diálogo Run Maven . Se puede acceder a este cuadro de diálogo desde la ventana Salida presionando el ícono de flecha doble amarilla.

enter image description here

+0

¡Este es el método más fácil que he encontrado para los proyectos de NetBeans Maven! La sección "Recordar como" y otras opciones no aparecen para mí cuando se abre ese cuadro de diálogo. Tengo que cambiar el tamaño del cuadro de diálogo antes de que se vuelvan visibles. Incluso después de haber usado "Remember as 'foo'", no sé cómo volver a ejecutar esa configuración. No sé dónde fue "recordado". – Enwired

2
import java.io.*; 
class Main 
{ 
public static void main(String args[]) throws IOException 
{ 
    int n1,n2,n3,l; 
    n1=Integer.parseInt(args[0]); 
    n2=Integer.parseInt(args[1]); 
    n3=Integer.parseInt(args[2]); 

    if(n1>n2) 
    { 
     l=n1; 
    } 
    else 
    { 
     l=n2; 
    } 

    if(l<n3) 
    { 
     System.out.println("largest no is "+n3); 
    } 
    else 
    { 
     System.out.println("largest no is "+l); 
    } 

}} 

situadas por encima de programa, en este programa quiero pasar 3 de NO a partir de la línea de comandos, para hacerlo.

Paso 1: Haga clic en el icono de la taza y platillo, ver ua esta ventana 1

Paso 2: Haga clic en Propiedades

Paso 3: Haga clic en Ejecutar _> _> Argumentos de tipo tres de ningún p.ej. y luego haga clic en Aceptar. Por favor, agregue espacio entre dos argumentos. Vea aquí 2

Paso 4: Ejecute el programa usando F6.

1

Para pasar argumentos al comando Ejecutar proyecto, o bien tiene que establecer los argumentos en las propiedades del proyecto Ejecutar el panel

Cuestiones relacionadas