如何在命令提示符下运行Java程序

时间:2012-08-15 07:57:24

标签: java compilation command-line-arguments command-prompt

我创建了一个Java项目来调用Web服务。 它有一个Main java文件和另一个类文件。 我已经为HTTP客户端使用了一些jar文件 在Eclipse中运行良好。 我需要通过传递一些参数在命令提示符下运行Java程序 在命令提示符下,我转到包含主java和子类java文件的src文件夹,并给出了以下命令

javac mainjava.java    

我收到了以下错误

  

mainjava.java:14:找不到符号
  symbol:class SubClass

这里SubClass是我用来调用Web服务的另一个java类文件。

如何通过传递参数来运行程序?

5 个答案:

答案 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。