javac编译多个包下的、依赖其他jar包的java文件

本文介绍如何使用javac命令编译包含多个模块的Java项目,并处理不同模块间的依赖关系。具体步骤包括编译父模块生成jar包,再利用该jar包作为classpath编译子模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

多个*.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下,先切换至destcd dest

依赖的jar F:\jar_pra\parent.jar

 


 

有点不方便,有空再学习ant工具。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值