【摘要】我们平时大量的使用IDE工具,可能连这个基本的命令怎么用的都不知道了,今天就来使用这个命令编译一个java项目。 1.编译java项目 首先有一个java项目 上面的这个项目是我用eclipse创建的一个普通项目,在eclipse中,其编译java项目之后会将生成的class文件放置在bin目录中,然后lib目录是我们自己创建的,使用javac编译项目的时候需要手动的指定jar包的...
我们平时大量的使用IDE工具,可能连这个基本的命令怎么用的都不知道了,今天就来使用这个命令编译一个java项目。
1.编译java项目
首先有一个java项目
上面的这个项目是我用eclipse创建的一个普通项目,在eclipse中,其编译java项目之后会将生成的class文件放置在bin目录中,然后lib目录是我们自己创建的,使用javac编译项目的时候需要手动的指定jar包的位置
我们的项目源文件放置在src中,我们现在使用javac命令来手动编译这个项目,同样也可以指定输出class文件到bin目录下,只要是用javac的时候加上对应的参数就可以了。
我们首先来简单的试一试,看看行不行,之前使用javac的时候都是编译的一个文件,这次要编译一个工程,还真不知道该从何处下手。
javac命令在编译一个.java文件的时候,发现一个未知的类,其会该类的class文件,如果关联的class类不存在的话,就会去找对应的java文件进行编译,那是不是说,我们编译main函数所在的文件就可以编译所有的.java文件了?试试看。
下面分别是core包下和utils包下的java文件,我们来尝试编译,BootStrap是入口文件。
-encoding指定了文件的编码,编译器就会以该编码来读取我们的jar文件
-cp是指定CLASSPATH(如果不指定,默认就是当前运行javac命令所在文件夹),编译器在查找一个类关联的类的时候会根据CLASSPATH进行查找,比如说你在一个类文件中import了另外一个包的java文件,javac就会根据CLASSPATH去查找这个java文件。如果你一个编译的java文件在中关联了另外一个类,javac会先到看import是否导入了该类,如果不是导入的,也就说说他和当前类是同一个包下的,