从命令行执行Java

时间:2010-11-19 14:14:41

标签: java unix command-line

我的桌面上有一个名为“Stuff”的文件夹,在该文件夹中我有以下内容:

  • Hello.java
  • 的mail.jar

Hello.java从mail.jar导入,所以我需要告诉Hello.java查找mail.jar。

从Windows命令行和unix命令行,如何编译并运行它?

3 个答案:

答案 0 :(得分:14)

编译:

javac -cp .;mail.jar Hello.java

其中;适用于Windows;使用:代替* nix。

并运行:

java -cp .;mail.jar Hello

再次,对Windows使用;,对* nix使用:

-cp告诉javacjava要使用的 classpath ,并且由于您的文件位于执行命令的本地目录中,你可以使用.作为Hello部分,使用jar的名称作为jar内部的路径。维基百科有一个decent article on classpaths

请注意,如果您要定期执行此操作,则可能需要设置CLASSPATH环境变量,而不是经常使用-cp标志。 javajavac都使用CLASSPATH变量。

对于我自己的开发机器,为了方便起见,我实际上在.变量中包含了CLASSPATH。这不是我在生产或构建/测试盒上会做的事情,但它对于开发目的非常方便。你也希望在它里面放一些普通的罐子。

答案 1 :(得分:2)

假设Hello.java在Windows上不包含包声明:

javac -cp mail.jar Hello.java
java -cp mail.jar;. Hello

Unix平台上唯一的区别是你用一个scolon而不是一个分号来分隔classpath的元素:

java -cp mail.jar:. Hello

答案 2 :(得分:-1)

按照本教程,您应该能够立即执行此操作:

Java Compilation

您也不应该对类路径有任何问题,因为您的类位于同一个文件夹中