如何运行将命令行参数传递给方法的Java程序?

如何运行将命令行参数传递给方法的Java程序?,java,jar,Java,Jar,我有一个名为Client的Java类,带有main(String[]args) main使用在名为lib.jar的jar中定义的类。如何从命令行运行程序,将命令行参数传递到main 我试过: java -cp lib.jar Client arg1 arg2 并出现此错误: 错误:无法找到或加载主类客户端java-cp lib.jar packageName.className arg1 arg2java-jar fileName.jar arg1 arg2 假设您将项目导出为.jar pu

我有一个名为
Client
Java
类,带有
main(String[]args)

main
使用在名为
lib.jar
jar
中定义的类。如何从命令行运行程序,将命令行参数传递到
main

我试过:

java -cp lib.jar Client arg1 arg2 
并出现此错误:


错误:无法找到或加载主类客户端

java-cp lib.jar packageName.className arg1 arg2

java-jar fileName.jar arg1 arg2

假设您将项目导出为.jar

public static void main(String[] args) {
    System.out.println(args[0]);
}

还要确保main方法正确。

main()
还是
main(String[]args)
?“它不起作用”永远都是不够的信息。您所展示的实际上是如何传递命令行参数。发生了什么事?如果出现类加载异常,那么可能需要
java-cp lib.jar(Windows)或
java-cp lib.jar:。
(Unix)这样当前目录也在类路径上?在不知道发生了什么的情况下,我们无法帮助您-我们只是猜测而已。@childofsong
main(String[]args)
将来,请在提问之前获取所有相关信息,最好是发布一个帖子。请记住,堆栈溢出的目的是创建高质量问题和答案的存储库。如果没有足够的信息,这不是一个高质量的问题。是主类
客户端
还是更像
com.example.www.SomePackage.Client
,也许?@AbAppletic:是的,因为我们不知道问题是否在于您的包没有限定类名。这是一种张贴a将有助于避免的事情。如果没有足够的信息,您只是在邀请其他人浪费时间猜测。@AbAppletic,是的,您没有在问题中指定是否指定了包名。