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文件
测试二
还有其他情况,但对我来说有测试一的方法就够用了,所以暂时先不写了
javac一次性编译多个包下的.java文件的更多相关文章
- Java——用程序编译一个文件夹下所有java文件到另一个文件夹下
package com.java.test.a; import java.io.IOException; import java.util.ArrayList; import java.util.Ar ...
- Java——DOS命令窗口用命令编译文件夹下所有.java文件
1.进入指定目录 cd 进入用户主目录 cd ~ 进入用户主目录 cd - 返回进入此目录之前所在的目录 cd .. 返回上级目录 cd\ 直接退回到当前盘根目录2. ...
- cmd下运行java文件时,找不到或无法加载主类的解决方法
最近再看java,却被一个看似很基础的hellorworld头疼了十几分钟,百度了一下,若你在cmd下编辑及运行.java文件时报错,解决方案如下,如图所示:
- 递归实现列出当前工程下所有.Java文件
package com.lanxi.demo2_3; import java.io.File; import java.util.ArrayList; import java.util.List; / ...
- java基础 File 递归删除文件夹中所有文件文件夹 目录(包含子目录)下的.java文件复制到e:/abc文件夹中, 并统计java文件的个数
File 递归删除文件夹中所有文件文件夹 package com.swift.kuozhan; import java.io.File; import java.util.Scanner; /*键盘录 ...
- Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件
package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...
- 命令行编译带外部包依赖的java源文件 [以JDBC MySQL8为例]
环境: MySQL8 JDK11(SE) 首先下载MySQL8的JDBC驱动 https://dev.mysql.com/downloads/connector/j/选 PlatForm Indepe ...
- dos界面下执行java文件将错误输出到一个文本小技巧
如果dos下执行java出现错误,把错误记录到一个文档 正确时如图,输出结果为hello,我把String的s改为小写,出现错误,用2>命令输出到error.txt在当前目录就出现了error. ...
- Java基础知识强化之IO流笔记14:递归之输出指定目录下所有java文件绝对路径的案例
1. 需求:输出指定目录下的所以.java结尾文件的绝对路径的案例: 分析: A:封装目录 B:获取该目录下的所有文件和文件夹的File数组 C:遍历这个File数组,得到每一个File对象的 ...
随机推荐
- UOJ 48 次最大公约数
次最大公约数 = gcd / 其中一个数质因数中最小的. gcd(42,12) = 6; div(42) = 2*3*7 div(12) = 2^2*3 sgcd(42,12) = 6 / ...
- 【[AH2017/HNOI2017]礼物】
题目 又是我不会做的题了 看看柿子吧 \[\sum(a_i+c-b_i)^2\] 最小化这个柿子 之所以不写下标是因为我们这个\(\{a\},\{b\}\)可以循环同构 那就开始化吧 \[\sum(a ...
- 添加模糊效果demo
添加模糊效果demo: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...
- git快捷命令缩写
# Query/use custom command for `git`. zstyle -s ":vcs_info:git:*:-all-" "command" ...
- TDD:代码可测试设计
1 方法内部代码命令,查询分离. a . 命令方法:执行一系列动作. b. 查询方法: 执行查询动作,并返回值. 2 一个类中有好几个地方都用到了一个或多个全局变量,可以考虑把全局变量封装到另外 ...
- Oracle,Mysql,SQlserver生成实体映射之SqlSugarT4
官网:http://www.codeisbug.com 代码已上传GitHub:https://github.com/SeaLee02/sealee 本篇主要讲使用SqlSugar包进行Model生成 ...
- 前端 new和instanceof JavaScript
new和instanceof的内部机制 new 代码例子 var Func=function(){ }; var func=new Func (); new共经过4个阶段 1.创建一个空对象 var ...
- vue组件原生事件以及路由
1.组件 组件就是可以扩展HTML元素,封装可重用的HTML代码,可以将组件看作自定义的HTML元素 1.1组件注册 全局注册: 组件注册时,需要给他一个名字,如下: Vue.component('m ...
- iOS实现电话状态监听 CoreTelephony
在程序中如果需要监听电话状态,可以引入CoreTelephony框架,这个框架包含了电话相关的API,可以实现监测来电,查看运营商信息等功能.下面就是具体的实现监测来电的代码.一定要把center写成 ...
- vim删除文件所有内容
在命令模式下,输入:.,$d 回车.