问题:
多个*.java文件编译
*.java文件依赖其他的jar包
如下文件结构:
F:\jar_pra
child
--child01
--MyChild.java
--child02
--MyChild.java
parent
--MyParent.java
MyParent.java
package parent;
public class MyParent{
public void show(){
System.out.println("Parent start");
}
}
下面两个类用到了parent.MyParent类
package child.child01;
import parent.MyParent;
public class MyChild{
public static void main(String[] args){
System.out.println("child01包下的MyChild");
new MyParent().show();
}
}
package child.child02;
import parent.MyParent;
public class MyChild{
public static void main(String[] args){
System.out.println("child02包下的MyChild");
new MyParent().show();
}
}
先编译F:\jar_pra\parent\MyParent.java
然后将生成的class文件打成jar包
编译F:\jar_pra\child下的java文件,由于源代码中依赖parent.jar中的parent.MyParent。
可以用–cp指定依赖的jar包(classpath),多个包用空格隔开。
F:\jar_pra>javac -cpF:\jar_pra\parent.jar -encoding utf-8 -d F:\jar_pra\dest child\child01\*.javachild\child02\*.java
F:\jar_pra>
如果源代码文件是utf-8编码,在cmd会乱码,可以设置–encoding utf-8
Javac命令的更多选项可以通过 javac –help命令进行查看
执行
编译的文件在F:\jar_pra\dest下,先切换至dest,cd dest
依赖的jar包F:\jar_pra\parent.jar
有点不方便,有空再学习ant工具。