一直使用eclipse操作java程序,但RMI程序需要命令行操作,故研究了下java的命令行操作。
javac 用于编译.java文件,生成.class文件
假设文件夹dir下有pa.java和a.java,并且a用到了pa的实例,那么在编译a时,是需要.class文件的。即编译程序时,程序之间的依赖关系是.class文件。
-classpath
javac -classpath /.../classSource a.java
-cp命令其实就是-classpath
有时候,编译a.java所需要的.class文件和a.java不在同一个文件夹下,那么我们需要指定.class文件所在的文件夹,通过-classpath属性标识。
jar cvf compute.jar computer/.class
将compute下的所有.class文件打成jar包,jar包含有所有的.class文件。有了jar包,我们就可以做这样的事情
javac -cp compute.jar engine/ComputeEngine.java
compute.jar相当于指定了classpath的位置。
在大型的project中,总是会引入很多的jar包,实际上这就是将别人的代码生成的.class文件加入到自己项目的过程。
编译并运行一个java程序
public class yo { public static void main(String args[]) { System.out.println("Hello World"); } }
javac yo
java -cp . yo
在我的机器上,不输出-cp .会出错