我创建了一个Java项目来调用Web服务。 它有一个Main java文件和另一个类文件。 我已经为HTTP客户端使用了一些jar文件 在Eclipse中运行良好。 我需要通过传递一些参数在命令提示符下运行Java程序 在命令提示符下,我转到包含主java和子类java文件的src文件夹,并给出了以下命令
javac mainjava.java
我收到了以下错误
mainjava.java:14:找不到符号
symbol:class SubClass
这里SubClass是我用来调用Web服务的另一个java类文件。
如何通过传递参数来运行程序?
答案 0 :(得分:21)
javac
是Java编译器。 java
是JVM以及用于执行Java程序的内容。您不执行.java
个文件,它们只是源文件。
据推测,某处({或1}包含.jar
文件的目录)是在Eclipse中构建它的产物:
java/src/com/mypackage/Main.java java/classes/com/mypackage/Main.class java/lib/mypackage.jar
从目录.class
执行:
java -cp lib / mypackage.jar Main arg1 arg2
答案 1 :(得分:14)
一个非常通用的命令提示符,如何为java是
javac mainjava.java
java mainjava
你经常会看到有人在做
javac *.java
java mainjava
至于因类路径中缺少路径而可能发生的子类问题,我相信-c标志用于设置它。
答案 2 :(得分:2)
您可以使用javac *.java
命令编译所有Java源代码。您还应该了解一下classpath,因为您似乎应该为成功编译设置适当的类路径(因为您的IDE使用一些库来构建WebService客户端)。另外,我建议您检查IDE用于构建项目的命令。
答案 3 :(得分:1)
javac只编译代码。您需要使用java命令来运行代码。该错误是因为您的类路径不包含类子类,当您尝试编译它时。你需要在javac命令
中添加-cp变量 java -cp classpath-entries mainjava arg1 arg2
应使用2个参数运行您的代码
答案 4 :(得分:1)
您需要做的就是:
使用类路径构建mainjava类(如果有的话)(可选)
javac * .java [-cp“wb.jar;”]
创建包含内容的Manifest.txt文件:
Main-Class:mainjava
打包mainjava类的jar文件
jar cfm mainjava.jar Manifest.txt * .class
然后你可以使用类路径(可选)从cmd运行这个.jar文件,并为它添加参数。
java [-cp "wb.jar;"] mainjava arg0 arg1
HTH。