java手动编译工程

2018-03-10  本文已影响0人  王朋6

javac -classpath  可以指定类路径 来编译java文件依赖的其它类,比如第三方库或者java基础类,它为编译器指明了找不到导入的类时去那个路径下找!(java -classpath 表示运行时,去哪里加载依赖的类)

如果需要指定多个路径时,在linux上使用:分割,而windows中多个路径分隔符就是;比如  javac -cp classes;C:\Tomcat\lib\servlet-api.jar BeerSelect.java

这就是用classes下的类文件

和 servlet-api.jar

一起来编译 BeerSelect.java

通常配置路径时,会用.;D:/clas/;,将当前目录也加配置上

使用javac命令行如何编译一个目录下的所有.java文件?

答案是使用通配符

不过要注意javac -sourcepath src *.java不能编译,正确姿势是javac -sourcepath src src*.java!

方法一、进入源文件夹进行编译

cd src (进入src源文件夹)

javac *.java

(可以指定输出目录,javac -d ..\classes *.java)

方法二、不进入源文件夹进行编译

cd mywork (不进入src源文件夹)

javac -sourcepath src src*.java

(可以指定输出目录,javac -sourcepath src -d classes src*.java)

javac -sourcepath 指定了依赖的源代码路径,如果依赖的类在classpath中找不到,在sourcepath中能找到,就会重新将源代码编译成class文件进行依赖,如果在classpath和sourcepath都能找到,就比较class文件是不是源文件最新的,如果不一致就编译源文件进行依赖(并不打包进工程)。

javac -d 指明了编译生产的class文件放到那个目录,通常-d配置的路径会自动添加到classpath中,在编译时使用。更重要的是加了-d,编译器才能编译有package包名的类,并根据包名生成对应的路径,所以运行时就需要包名运行了(也就是全类名),不加-b,如果java文件第一行使用了包名package,就会无法编译通过。

而将上述几个命令全用上就是

上一篇下一篇

猜你喜欢

热点阅读