我的桌面上有一个名为“Stuff”的文件夹,在该文件夹中我有以下内容:
Hello.java从mail.jar导入,所以我需要告诉Hello.java查找mail.jar。
从Windows命令行和unix命令行,如何编译并运行它?
答案 0 :(得分:14)
编译:
javac -cp .;mail.jar Hello.java
其中;
适用于Windows;使用:
代替* nix。
并运行:
java -cp .;mail.jar Hello
再次,对Windows使用;
,对* nix使用:
。
-cp
告诉javac
和java
要使用的 classpath ,并且由于您的文件位于执行命令的本地目录中,你可以使用.
作为Hello部分,使用jar的名称作为jar内部的路径。维基百科有一个decent article on classpaths。
请注意,如果您要定期执行此操作,则可能需要设置CLASSPATH
环境变量,而不是经常使用-cp
标志。 java
和javac
都使用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)