如何在命令提示符下运行Java程序
我创建了一个Java项目来调用Web服务。 它有一个主java文件和另一个类文件。 我已经为HTTP客户端使用了一些jar文件。如何在命令提示符下运行Java程序,java,compilation,command-line-arguments,command-prompt,Java,Compilation,Command Line Arguments,Command Prompt,我创建了一个Java项目来调用Web服务。 它有一个主java文件和另一个类文件。 我已经为HTTP客户端使用了一些jar文件。 在Eclipse中运行良好。 我需要通过传递一些参数在命令提示符下运行Java程序。 在命令提示符中,我转到包含主java和子类java文件的src文件夹,并给出以下命令 javac mainjava.java 我有以下错误 mainjava.java:14:找不到符号 符号:类子类 这里的子类是用于调用web服务的另一个java类文件 如何通过传递参数来运
在Eclipse中运行良好。 我需要通过传递一些参数在命令提示符下运行Java程序。
在命令提示符中,我转到包含主java和子类java文件的src文件夹,并给出以下命令
javac mainjava.java
我有以下错误
mainjava.java:14:找不到符号符号:类子类 这里的子类是用于调用web服务的另一个java类文件
如何通过传递参数来运行程序?您可以使用
javac*.java
命令编译所有java源代码。此外,您还应该了解一些关于类路径的知识,因为您似乎应该为成功编译设置适当的类路径(因为您的IDE使用一些库来构建WebService客户端)。另外,我可以建议您检查IDE用于构建项目的哪个命令。一个非常通用的命令提示符是如何为java
javac mainjava.java
java mainjava
你会经常看到有人这样做
javac *.java
java mainjava
至于由于类路径中缺少路径而可能出现的子类问题,我相信是使用-c标志来设置的。javac只编译代码。您需要使用java命令来运行代码。错误是因为在编译类路径时,它不包含类子类i。您需要在javac命令中使用-cp变量添加它们
java-cp类路径条目mainjava arg1 arg2
应使用两个参数运行代码javac
是java编译器java
是JVM,是执行java程序的工具。您不执行.java
文件,它们只是源文件。
大概有.jar
某个地方(或包含.class
文件的目录)是在Eclipse中构建它的产物:
java/src/com/mypackage/Main.java
java/classes/com/mypackage/Main.class
java/lib/mypackage.jar
java/src/com/mypackage/Main.java
java/classes/com/mypackage/Main.class
java/lib/mypackage.jar
从目录java
执行:
java-cp lib/mypackage.jar主arg1 arg2
您需要做的只是:
- 使用类路径(如果有)构建mainjava类(可选) javac*.java[-cp“wb.jar;”]
- 创建Manifest.txt文件,其内容为: 主类:mainjava
- 为mainjava类打包jar文件 jar cfm mainjava.jar Manifest.txt*.class
java [-cp "wb.jar;"] mainjava arg0 arg1
HTH.Dd您设置了类路径吗?感谢所有人的帮助,它对我来说工作正常…..在我的ide中,使用此命令运行*****“C:\Program Files\Java\jre6\bin\javaw.exe”-Dfile.encoding=Cp1252-classpath“D:\Projects\eclipseprojects\WebServiceCall\bin;D:\Projects\eclipseprojects\WebServiceCall\ExternalJarFiles\httpcore-4.0.jar;D:\Projects\eclipseprojects\WebServiceCall\ExternalJarFiles\httpclient-4.0.jar;D:\Projects\eclipseprojects\WebServiceCall\ExternalJarFiles\commons-logging-1.1.jar;D:\Projects\Eclipse Projects\WebServiceCall\ExternalJarFiles\gson-1.7.1.jar“WSCall.ServiceCall****如果在命令提示符下使用上述命令,我将能够运行它。但是我无法为
javac*.java
传递参数+1,这也将编译OP的SubClass.java源文件。这是我的文件夹结构webcall/src/main.java----webcall/src/Sub.java----webcall/extjarfiles/httpcore.jar----webcall/extjarfiles/httpclient.jar----是否有webcall/classes
或webclass\lib
文件夹?我使用了javac-cp extjarfiles/AllJarFiles main.java------它已成功编译,但在运行项目时出错。您需要编译Sub.java
和main.java
以及查找Sub.class
和main.class
文件所在的目录。我比较了这两个java文件,得到了17条有关apache的警告----------------------“org\apache\http\conn\scheme\SchemeRegistry.class(org\apache\http\conn\scheme:Sch emeRegistry.class):警告:在“ne t.jcip.annotations.GuardedBy”类型中找不到批注方法“value()”:找不到net.jcip.annotations.GuardedBy的类文件org\apache\impl\client\AbstractHttpClient.class”(org\apache\http\impl\client:AbstractHttpClient.class):警告:在类型“net.jcip.annotations.GuardedBy”中找不到注释方法“value()”