美文网首页
java手动编译工程

java手动编译工程

作者: 王朋6 | 来源:发表于2018-03-10 11:44 被阅读0次

    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,就会无法编译通过。

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

    相关文章

      网友评论

          本文标题:java手动编译工程

          本文链接:https://www.haomeiwen.com/subject/asivfftx.html