2012-02-06 64 views
44

Windows 7 64ビット版Netbeans 7.1 Javaプロジェクトでコマンドライン引数を設定しようとしています。Netbeans Javaでコマンドライン引数を設定する方法

Netbeansは私がそれを与える引数を渡していません。

Project - >Properties - >Run - > [引数]の横に引数を入力しますが、引数はプログラムに渡されません。どのように私はそれらを渡すのですか?

+0

メインクラスを表示してください。 NetBeansで作成したbuild.xmlや独自のbuild.xmlを使用していますか? – Paul

+0

プロジェクトの実行時に使用される実行コンフィギュレーションを編集していますか?ツールバーのドロップダウンで正しい設定を選択していることを確認してください –

+0

もしそれが1つのファイルに対して機能したいのであれば、 'MainProgram.main(new String [] {" arg0 "、" arg1 "});' – Sorter

答えて

42

Run | Run Main ProjectではなくRun | Run File(またはshift-F6)を使用してファイルを実行していると思います。引数は次のようになります。

アプリケーション実行中にメインクラスに渡す引数を追加します。 引数は個々のファイルに渡すことはできません。

私はコードの小さなスニペットでこれを検証:

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

を私は実行設定 - x y zへ>引数。ファイルを単独で実行したときに出力が得られませんでした。プロジェクトを実行したときの出力は次のとおりです。

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

NetBeans IDE 8.0のコミュニティ寄稿プラグインを使用して、単一のJavaファイルにコマンドライン引数を渡すことができますhttps://github.com/tusharvjoshi/nbrunwithargs –

+0

ああ、このプラグインはAnt用に作成されましたベースのJavaプロジェクトのみです。 MavenプロジェクトでNPEを表示しないように修正します。このプラグインにはMavenプロジェクトの追加機能が必要です。プラグインはプルリクエスト用です。この機能のコミュニティから提供されたヘルプ –

+0

チャンスがあれば、Gradleプロジェクトでも同様に機能するかどうかを見ていきます。 Gradle自体にはプラグインが必要なので、それが可能かどうかはわかりません。 – Paul

18

ステップ(1):コマンドライン引数として引数を受け取ることができるjavaコードを作成します。

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

ステップ(2):下部の出力windownでのNetBeans(7.3を使用してIM)では、黄色のボタンをクリックしてください(異なるパラメータで再実行します)。これにより、新しいウィンドウ(Antターゲットウィンドウの実行)が開きます。

ステップ(3): あなたが渡す必要がある引数は、「testArgument」の場合、ここでは、このウィンドウでapplication.args = testArgument

として引数を渡すこれは、出力が得られます同じ出力ウィンドウに、次のとおりです。

最初の引数は次のとおりです。testArgument

+1

複数の引数を追加する方法 – Anup

9

のNetBeans 8.xの使用してMavenプロジェクトの場合:

をプロジェクト構成を設定
  1. クリック実行>>引数を含めるために、メイン()
  2. セット名/値のペアを経由して
  3. 選択アクション
  4. 選択ファイル名を指定して実行ファイルをカスタマイズします。
  5. クリックOK

例の名前/値のペアは似ているかもしれません。そして、

javax.persistence.jdbc.password=PASSWORD 

プロジェクトを実行します。

  1. 開くとmain(...)を含んでJavaクラスを集中します。
  2. F6を押してプログラムを実行してください。

[実行]ウィンドウにコマンドラインパラメータが表示されます。

プログラムで値形式を取得するには、System.getProperty()を使用してください。 テストファイル実行プロジェクト、と定義された引数を持つことができ、アプリケーションを実行する他の方法について

追加アクション。この作業を実行するには、上記の手順を繰り返します。その後

+0

プロジェクト設定の設定がグレー表示の場合はどうなりますか? Grailsプロジェクト。 – user2782001

+0

'System.getProperty()'から取得した環境変数は、「コマンドライン引数」と同じではありません。 'main(String [] args)'の 'args'配列にある引数を提供する必要がある場合は、Maven変数' exec.args'を編集する必要があります。 "Leif Gruenwoldt"の答えは、それを行う。 – Enwired

0

あなたがのMyEclipseを使用して前に引数を追加し、プログラムを実行したい場合は、次のように実行します。 1.0)を実行 - >実行Configを 2.1)右側のパネル 2.2の「引数」をクリック)で、あなたの引数を追加空白で区切られた "Program Args"ボックス

2

NetBeans IDE 8.0では、コミュニティ実行プラグインhttps://github.com/tusharvjoshi/nbrunwithargsを使用すると、[プロジェクトの実行]または[単一ファイルの実行]コマンドで引数を渡すことができます。プロジェクトのコマンドを実行するために引数を渡すために

あなたがパネルを実行し、プロジェクトのプロパティで引数を設定、またはファイル名を指定して実行するコマンドライン引数を渡すための引数

と言うのプラグインをインストールした後に利用できる新しいコマンドを使用する必要がありますどちらかメインメソッドを持つJavaファイルでメソッドを右クリックし、このプラグインのRun with Argumentsコマンドを選択してください

UPDATE(24 Mar 2014)このプラグインは、NetBeans Plugin Portalでプラグインからインストールできるようになりました。 NetBeans IDE 8.0のコミュニティから提供されたプラグインから表示される利用可能なプラグインのダイアログボックス

Run with Arguments plugin as shown in Plugin dialog box

+0

私のためには動作しません..メインクラスが見つかりません。 – wmfairuz

+0

Mavenプロジェクトでは動作しません - この[バグレポート](https://github.com/tusharvjoshi/nbrunwithargs/issues/3)を参照してください –

+1

ああ、はいこのプラグインはAntベースのJavaプロジェクト用に作成されたものです。 MavenプロジェクトでNPEを表示しないように修正します。このプラグインにはMavenプロジェクトの追加機能が必要です。プラグインはプルリクエスト用にオープンされています。この機能のコミュニティから提供されたヘルプ –

8

それはその後、NetBeansはあなたが実行Mavenのダイアログで見つかった既存のexec.argsプロパティにあなたのオプションを追加する必要がありますのexec-のmaven-pluginのを使用してアプリケーションを実行しているMavenプロジェクトだ場合。このダイアログは、出力ウィンドウから黄色の二重矢印アイコンを押すことでアクセスできます。

enter image description here

+0

これはNetBeans Mavenプロジェクトで見つけた最も簡単な方法です。そのダイアログが開いたときに、「名前を付けて保存」セクションと他のオプションは表示されません。表示される前にダイアログのサイズを変更する必要があります。 「私は「foo」として記憶」した後でも、その設定を再実行する方法はわかりません。私はそれがどこに記憶されたのか分かりません。 – 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); 
    } 

}} 

は、このプログラムでは、私はそうすることを、コマンドラインからの3つのノー年代を渡したい、プログラム上で考えてみましょう。

ステップ1:右カップとソーサーのアイコンをクリックして、u'llこのウィンドウを参照してください 1

ステップ2:ファイル名を指定して実行]をクリックします_>引数_>タイプ3無しさん:プロパティ

ステップ3をクリックします。例えば。 次に[OK]をクリックします。 Plzは2つの引数の間にスペースを追加します。ここをクリックしてください 2

手順4:F6を使用してプログラムを実行します。

1

プロジェクト実行コマンドに引数を渡す場合は、プロジェクトプロパティの実行パネルで引数を設定する必要があります。

関連する問題