从命令行执行Java
我的桌面上有一个名为“Stuff”的文件夹,其中包含以下内容:从命令行执行Java,java,unix,command-line,Java,Unix,Command Line,我的桌面上有一个名为“Stuff”的文件夹,其中包含以下内容: Hello.java mail.jar java从mail.jar导入,所以我需要告诉Hello.java查找mail.jar 如何从Windows命令行和unix命令行编译并运行此命令?编译: javac -cp .;mail.jar Hello.java 其中用于Windows;对*nix使用: 并运行: java -cp .;mail.jar Hello 再次使用用于Windows,而用于*nix -cp告诉javac
- Hello.java
- mail.jar
javac -cp .;mail.jar Hello.java
其中代码>用于Windows;对*nix使用:
并运行:
java -cp .;mail.jar Hello
再次使用
用于Windows,而用于*nix
-cp
告诉javac
和java
要使用什么classpath,并且由于您的文件位于执行命令的本地目录中,您可以对Hello部分使用
,对jar内的路径使用jar的名称。维基百科有一个独特的功能
请注意,如果要定期执行此操作,可能需要设置CLASSPATH
环境变量,而不是经常使用-cp
标志。java
和javac
都使用CLASSPATH
变量
对于我自己的开发机器,为了方便起见,我实际上在类路径
变量中包含了
。这不是我在生产或构建/测试箱上要做的事情,但对于开发目的来说,它非常方便。您也希望将常用的罐子放在其中。按照本教程进行操作,您应该能够立即完成:
在Windows上,如果Hello.java不包含包声明,则类路径也不应该有任何问题,因为类位于同一文件夹中
javac -cp mail.jar Hello.java
java -cp mail.jar;. Hello
Unix平台上的唯一区别在于,类路径的元素之间用scolon而不是分号分隔:
java -cp mail.jar:. Hello
这不会使Java获取JAR文件。@Jesper:谢谢,我想我已经按照您的评论解决了这个问题。:-)我差点忘了那个罐子。