Netbeans如何在Java中设置命令行参数
我试图在64位Windows 7上的Netbeans 7.1 Java项目中设置命令行参数 Netbeans没有传递我给它的参数Netbeans如何在Java中设置命令行参数,java,netbeans,arguments,Java,Netbeans,Arguments,我试图在64位Windows 7上的Netbeans 7.1 Java项目中设置命令行参数 Netbeans没有传递我给它的参数 我转到Project-->Properties-->Run-->并在“arguments”旁边键入参数,但这些参数不会传递给程序。如何传递它们?我猜您正在使用Run | Run file(或shift-F6)而不是Run | Run Main Project运行文件。NetBeans 7.1帮助文件(F1是您的朋友!)为Arguments参数声明: 在应用程序执行期间
我转到
Project
-->Properties
-->Run
-->并在“arguments”旁边键入参数,但这些参数不会传递给程序。如何传递它们?我猜您正在使用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设置为xyz
。当我单独运行文件时,没有得到任何输出。当我运行项目时,输出是:
arg -> x
arg -> y
arg -> z
类测试代码{
公共静态void main(字符串参数[]){
System.out.println(“第一个参数是:“+args[0]);
}
}
testArgument
,则在此窗口中,将该参数作为application.args=testArgument
传递first argument is: testArgument
对于Maven,说明类似,但改为更改exec.args
属性:
exec.args=-classpath %classpath package.ClassName PARAM1 PARAM2 PARAM3
注意:对包含空格的字符串参数使用单引号。对于使用NetBeans 8.x的Maven项目:
javax.persistence.jdbc.password=PASSWORD
然后运行您的项目:
main(…)
的Java类测试文件、运行项目的其他操作以及运行应用程序的其他方式可以定义参数。对不同的操作重复上述步骤以完成此任务。如果您正在使用MyEclipse并希望在运行程序之前添加参数,请执行以下操作: 1.0)运行->运行配置 2.1)单击右侧面板上的“参数”
2.2)在“程序参数”框中添加参数,在NetBeans IDE 8.0中用空格分隔。您可以使用社区提供的插件,该插件允许您在运行Project或运行单文件命令时传递参数
要传递参数以运行项目命令,您必须在“项目属性”“运行”面板中设置参数,或者在安装插件后使用新命令,该插件显示“使用参数运行” 要将命令行参数传递给具有main方法的Java文件,只需右键单击该方法并选择此插件的runwitharguments命令 更新(2014年3月24日)此插件现在在NetBeans插件门户中可用,这意味着它可以从“插件”对话框中的可用插件安装,该插件显示在NetBeans IDE 8.0中社区贡献的插件中
如果它是一个Maven项目,那么Netbeans正在使用exec Maven插件运行您的应用程序,因此您需要将选项附加到Run Maven对话框中现有的
exec.args
属性上。通过按下黄色双箭头图标,可以从输出窗口访问此对话框
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);
}
}}
导入java.io.*;
班长
{
公共静态void main(字符串args[])引发IOException
{
int n1、n2、n3、l;
n1=整数.parseInt(args[0]);
n2=整数.parseInt(args[1]);
n3=整数.parseInt(args[2]);
如果(n1>n2)
{
l=n1;
}
其他的
{
l=n2;
}
如果(l)个参数u>键入三个否,例如。
32 98 16
然后单击OK。请在两个参数之间添加空格。请参见此处
步骤4:使用F6运行程序。要传递参数以运行项目命令,您必须在项目属性运行面板中设置参数。注意,在Netbeans 8中,项目属性中没有运行面板
要执行所需操作,我只需在项目的属性文件中添加以下行(设置区域设置的示例):
run.args.extra=--locale fr:FR
这对我很有效,请在NetBeans中使用VM参数:
@Value("${a.b.c:#{abc}}"
...
@Value("${e.f.g:#{efg}}"
...
Netbeans:
-Da.b.c="..." -De.f.g="..."
属性->运行->虚拟机选项->-De.f.g=efg-Da.b.c=abc
从命令行
java -jar <yourjar> --Da.b.c="abc"
java-jar--Da.b.c=“abc”
请显示您的主类。您使用的是NetBeans创建的build.xml还是您自己的build.xml?您确定正在编辑运行项目时使用的运行配置吗?如果您希望在单个文件中使用,请确保在工具栏的下拉列表中选择正确的配置。.在其他一些类中调用主类MainProgram.main(新字符串[]{“arg0”,“arg1”})
现在,我们可以使用社区贡献的NetBeans IDE 8.0插件将命令行参数传递到单个Java文件。哦,是的,这个插件是为基于Ant的Java项目创建的。我将修改它,使其在Maven项目中不显示NPE。这个插件需要Maven项目的其他功能,该插件是为pull-req打开的uests和社区为此功能提供的任何帮助如果我有机会,我会看看如何使它与Gradle项目一起工作,尽管Gradle本身需要一个插件,所以不确定这是否正确