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文件

测试二

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

时间: 2024-09-30 05:10:40

javac一次性编译多个包下的.java文件的相关文章

在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.java类文件run时提示“javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V”异常的解决办法

问题现象: 在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.java类文件run时提示“javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V”异常. 解决办法: 1.定位到报错的方法为WWXML.java文件中的createDocumentBuilder方法: pub

使用VI编辑器在Linux下编写Java文件

1.cd 文件名,进入一个目录下 2.vi 文件名,新建一个文件(如此文件已存在则打开) 进入编辑器 3.按i(光标所在输入)/按a(光标后输入)进入编辑模式,写入JAVA代码 P.S.  Esc退出编辑状态,非编辑状态下X为删除,HJKL分别为左上下右 4.按Esc退出编辑模式 5.按:wq,回车 6.ls查看文件,已存在 7.javac编译(文件名需加后缀) 8.java运行(文件名不加后缀) 使用VI编辑器在Linux下编写Java文件

cmd下运行java文件时,找不到或无法加载主类的解决方法

最近再看java,却被一个看似很基础的hellorworld头疼了十几分钟,百度了一下,若你在cmd下编辑及运行.java文件时报错,解决方案如下,如图所示: d盘根目录下的.java文件. 打开cmd,进入d盘根目录进行javac demo.java,如图所示: 这一步是不会报错的,因为只要你的classpath设置成功,不会存在报错问题, 此时我们看到刚刚编译的demo.class已经出现在根目录下. 继续下一步时,我们会发现cmd报错,如图所示: 相信很多刚入门的同学们都遇到了这个问题,百

Java File IO 练习题:把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件

package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.In

命令行编译带外部包依赖的java源文件 [以JDBC MySQL8为例]

环境: MySQL8 JDK11(SE) 首先下载MySQL8的JDBC驱动 https://dev.mysql.com/downloads/connector/j/选 PlatForm Independent 下载完文件名差不多是 “mysql-connector-java-8.<小版本号>.jar” 然后写一个JDBC小的程序(需要数据库提前建好表) 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 impor

dos界面下执行java文件将错误输出到一个文本小技巧

如果dos下执行java出现错误,把错误记录到一个文档 正确时如图,输出结果为hello,我把String的s改为小写,出现错误,用2>命令输出到error.txt在当前目录就出现了error.txt文件

CentOS下运行Java文件Error: Could not find or load main class

今天,因为测试拷贝一个JvmTest.java文件到CentOS虚机上运行,发现文件编译没有问题,但运行时却报错,如下图: Java代码如下: package com.zhi.test; public class JvmTest { public static void main(String[] args) { System.out.println("start..."); } } 解决方式:去掉java代码第一行package信息. 重新编辑后执行,代码执行成功 原文地址:http

mysql二进制包下的support-files文件夹

可能很多习惯用rpm包的人在部署mysql的二进制包后并不懂的怎么使用(具体mysql二进制部署可参看http://jim123.blog.51cto.com/4763600/1835010),其实不用担心,在你的二进制包解压开后有一个support-files的文件夹,在里面放了大量的mysql脚本及配置文件,可以通过查阅以下文件夹里的脚本就会知道如何使用mysql 其中my-*.cnf的文件都是mysql的配置文件的模板,你可以选择一个适合你使用的配置文件copy到/etc/文件夹下,当然你

递归获取包下的class文件

```java(这个居然隐藏不了) public class TestUrl { public static void main(String[] args) { String pageName = "ogr.test";//包路径 fileRecursive(pageName); } public static void fileRecursive(String pageName) { URL url = Thread.currentThread().getClass().getRe