博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javac一次性编译多个包下的.java文件
阅读量:5035 次
发布时间:2019-06-12

本文共 2167 字,大约阅读时间需要 7 分钟。

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

 

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

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

标准的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文件

 

测试二

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

 

转载于:https://www.cnblogs.com/studyLog-share/p/4676282.html

你可能感兴趣的文章
java乱码处理
查看>>
浅谈CSRF攻击方式
查看>>
6个用于大数据分析的最好工具
查看>>
分数取模
查看>>
centos和ubuntu的区别
查看>>
open函数and文件处理
查看>>
Hadoop源码分析1: 客户端提交JOB
查看>>
Angular使用中遇到的问题
查看>>
bzoj2120 数颜色
查看>>
Qt学习笔记网络(一)
查看>>
[个人翻译]Redis 集群教程(下)
查看>>
理清字符集和字符编码关系
查看>>
【转自官网】INS-30508 Invalid ASM Disks on Grid Infrastructure Installation (文档 ID 1999903.1)...
查看>>
Ubuntu下mysql修改连接超时wait_timeout
查看>>
日期格式化后转换为24时制
查看>>
如果在docker中部署tomcat,并且部署java应用程序
查看>>
匿名类型
查看>>
第四次作业
查看>>
函数的封装
查看>>
【转】Thread Local的正确原理与适用场景
查看>>