Netbeans 如何在 Java 中设置命令行参数

IT小君   2021-10-15T10:23:27

我正在尝试在 Windows 7 64 位上的 Netbeans 7.1 Java 项目中设置命令行参数。

Netbeans 没有传递我给它的参数。

我转到Project--> Properties--> Run--> 并在“参数”旁边键入参数,但是参数不会传递给程序。我如何通过它们?

评论(10)
IT小君

我猜您正在使用Run | Run File(或 shift-F6)而不是Run | Run Main Project. NetBeans 7.1 帮助文件(F1 是您的朋友!)为 Arguments 参数说明:

添加要在应用程序执行期间传递给主类的参数。请注意,不能将参数传递给单个文件。

我用一小段代码验证了这一点:

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

我将 Run -> Arguments 设置为x y z. 当我自己运行文件时,我没有输出。当我运行项目时,输出是:

arg -> x
arg -> y
arg -> z
2021-10-15T10:23:27   回复
IT小君
  1. 创建可以接收参数作为命令行参数的 Java 代码。

    class TestCode{
        public static void main(String args[]){
            System.out.println("first argument is: "+args[0]);
        }
    }
    
  2. 不带参数运行程序(按F6)。

  3. 在“输出”窗口底部,单击黄色双箭头(或黄色按钮)以打开“运行”对话框。

  4. 如果您需要传递的参数是testArgument,则在此窗口中将参数传递为application.args=testArgument

这将在同一输出窗口中给出如下输出:

first argument is: testArgument

对于 Maven,说明类似,但要更改exec.args属性:

exec.args=-classpath %classpath package.ClassName PARAM1 PARAM2 PARAM3

注意:对包含空格的字符串参数使用单引号。

2021-10-15T10:23:27   回复
IT小君

如果它是一个 Maven 项目,那么 Netbeans 正在使用exec-maven-plugin运行您的应用程序,因此您需要将您的选项附加到exec.args运行 Maven”对话框中的现有属性上通过按黄色双箭头图标,可以从“输出”窗口访问此对话框

在此处输入图片说明

2021-10-15T10:23:28   回复
IT小君

对于使用 NetBeans 8.x 的 Maven 项目:

  1. 点击运行>>设置项目配置>>自定义
  2. 选择操作
  3. 通过 main()选择运行文件
  4. 设置名称/值对以包含参数。
  5. 单击确定

示例名称/值对可能类似于:

javax.persistence.jdbc.password=PASSWORD

然后运行你的项目:

  1. 打开并聚焦包含main(...).
  2. F6运行程序。

命令行参数应出现在“运行”窗口中。

请注意,要通过程序获取值形式,请使用System.getProperty().

测试文件运行项目和其他运行应用程序的方式的其他操作可以定义参数。对不同的操作重复上述步骤以完成此任务。

2021-10-15T10:23:28   回复
IT小君
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 步:右键单击杯碟图标,您将看到此窗口

1

第二步:点击属性

第 3 步:点击 Run _> Arguments _> 输入三个 no,例如。32 98 16 然后单击确定。请在两个参数之间添加空格。看这里

2

步骤 4:使用 F6 运行程序。

2021-10-15T10:23:28   回复
IT小君

在 NetBeans IDE 8.0 中,您可以使用社区贡献的插件https://github.com/tsharvjoshi/nbrunwithargs,它允许您在运行项目或运行单个文件命令时传递参数。

要将参数传递给 Run Project 命令,您必须在 Project properties Run 面板中设置参数,或者使用安装插件后可用的新命令,即 Run with Arguments

要将命令行参数传递给具有 main 方法的 Java 文件,只需右键单击该方法并选择此插件的 Run with Arguments 命令

更新(2014 年 3 月 24 日)此插件现在在 NetBeans 插件门户中可用,这意味着它可以从 NetBeans IDE 8.0 中社区贡献插件显示的可用插件的插件对话框中安装

使用参数插件运行,如插件对话框中所示

2021-10-15T10:23:28   回复
IT小君

要将参数传递给“运行项目”命令,您必须在“项目”属性“运行”面板中设置参数

2021-10-15T10:23:28   回复
IT小君

如果您使用的是 MyEclipse 并且想在运行程序之前添加参数,那么请执行以下操作: 1.0) 运行 -> 运行配置 2.1) 单击右侧面板上的“参数” 2.2) 在“程序参数”框中添加您的参数,用空格隔开

2021-10-15T10:23:28   回复
IT小君

请注意,从 Netbeans 8 开始,项目属性中没有运行面板。

要执行您想要的操作,我只需在我的项目的属性文件中添加以下行(设置语言环境的示例):

run.args.extra=--locale fr:FR
2021-10-15T10:23:28   回复
IT小君

这对我有用,在 NetBeans 中使用 VM 参数:

@Value("${a.b.c:#{abc}}"
...

@Value("${e.f.g:#{efg}}"
...

网豆:

-Da.b.c="..." -De.f.g="..."

属性 -> 运行 -> VM 选项 -> -De.fg=efg -Da.bc=abc

从命令行

java -jar <yourjar> --Da.b.c="abc" 
2021-10-15T10:23:29   回复