• javac一次性编译多个包下的.java文件


    如题是我想要知道的,然后在网上搜了一下

    下面是在某些帖子里看到别人说的只言片语

    ===========================================================

    标准的javac可以跟一个@加一个文件名,该文件里保存了源文件列表,使用下面的命令:  
      javac   @sourcefile

    ===========================================================

      cd   xxx  
       
      dir   *.java/s/b   >   srclist.txt  
       
      or   dir   x:/yyy/zzz/*.java/s/b   >   srclist.txt  
       
      javac   -cp   .;xxx/yyy/zzz.jar;x/y/z.jar   -d   classes   @srclist.txt

    ===========================================================

    写一个文件source.txt,内容如下:  
      a/a1/a1.java  
      a/a2/a2.java  
      a/a3/a3.java  
       
      然后运行javac   -d   classes   @source.txt

    ===========================================================

    windows下的. 
    其中src是存放source code的目录。 
    com 是 root package. 

    cd src 

    dir *.java/s/b > srclist.txt 

    javac -classpath .;lib/thumbelina.jar;lib/scheduling.jar;lib/sax2.jar;lib/h 
    tmlparser.jar;lib/htmllexer.jar;lib/filterbuilder.jar;lib/brokenwin_utility.jar; 
    -d com @srclist.txt

    ===========================================================

     #这个,主要是自己在做一个独立的Java项目,它不依赖IDE,同时要在别人电脑上编译运行 

    #下面编译运行用到了jar包、properties文件 

    #首先进入项目的根目录下 
    #注意:每一行,表示:DOS系统将执行的指令 
    #G: 
    #cd testJava 
    #上面,两个命令为模拟,进入项目根目录(具体目录,根据自己程序所在目录) 

    javac -classpath .;../previousRecord.properties;../lib/jtds-1.2.5.jar;com/cjb/properities/jdbc.properties com/cjb/jdbc/*.java com/cjb/client/*.java -encoding UTF-8 
    #上面命令,表示:编译com/cjb/jdbc下所有java类和com/cjb/client下所有java类,这些类用到了previousRecord.properties文件(它的路径是相对的)和jtds-1.2.5.jar的文件jar包(它的路径也是相对的),同时用的编码是UTF-8 
    java -Xms64m -Xmx512m -cp .;../previousRecord.properties;../lib/jtds-1.2.5.jar;com/cjb/properities/jdbc.properties com/cjb/client/MailDispatcherOperation 
    #上面命令,表示:执行com/cjb/client下的MailDispatcherOperation.class(它里面有Main函数)

    ===========================================================

    得花时间研究的一篇文章,暂时没看

    使用DOS命令行,用javac编译多目录下(包)的JAVA源程序

    http://blog.csdn.net/cangwu_lee/article/details/6172034

    ===========================================================

    有些地方理解的不是很明白,揣测着他们的意思,简单测试了一下,记录一下测试情况

    测试一

    假设项目源码目录是src

    从控制台进入到该目录下

    键入命令:dir   *.java/s/b   >   srclist.txt,回车

      在该目录下得到一个名为srclist.txt的文件,该文件写入了src下所有.java文件的完整路径

    在src目录下新建classes目录

    再在控制台键入命令:javac   -d   classes   @srclist.txt,回车

      在classes目录下得到该项目的.class文件

    测试二

    还有其他情况,但对我来说有测试一的方法就够用了,所以暂时先不写了

  • 相关阅读:
    Linux ->> VirtualBox Linux虚拟机与Windows主机共享目录
    Linux ->> CentOS 7 执行service network restart 报错
    借助企业微信实现“调接口”给个人微信发消息
    idea提交代码到github教程
    Content type ‘multipart/form-data;boundary=--------------------------9107
    org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;bounda
    org.hibernate.LazyInitializationException: could not initialize proxy 解决方案(JPA)
    GitLab代码回滚到特定版本
    js 导入excel文件
    GoLand 2021.1.3安装之后需要激活得步骤
  • 原文地址:https://www.cnblogs.com/studyLog-share/p/4676282.html
Copyright © 2020-2023  润新知