javac编译多个包下的、依赖其他jar包的java文件_KimHiang的博客-程序员秘密

技术标签: javac  java  依赖编译  多个文件编译  

问题:

多个*.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工具。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_27851149/article/details/78011180

智能推荐

python程序多次运行_python如何避免脚本重复运行?_weixin_39914752的博客-程序员秘密

这种需求很常见,最常使用的技术就是互斥锁。例如某个服务运行后,生成一个 PID 文件,里面写入当前运行的进程 PID,运行结束后主动删除这个文件。当有其他进程运行时,先检查这个文件及对应的进程是否存在,存在就是正在运行,否则就可以运行。现成的例子可以参考 Linux 系统的 /run 目录下的 *.pid 文件。Windows 系统也是一样,存放在固定的路径就行。这里有几个注意点:PID 锁文件的...

转载SQL_trace 和10046使用_aiduo1030的博客-程序员秘密

SQL_TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具.在日常的数据库问题诊断和解决中,SQL_TRACE是非常常用的方法。本文就SQL_TRACE的使用作简单探讨,并通过具体案例对sql_trace的使用进行说明.一、 基础介绍(a) SQL_TRACE说明SQL_TRACE可以作为初始化参数在全局启用,也可以通过命令行方式在具体sessio...

mysql数据库转移到oracle_mysql转oracle_漫天雪_昆仑巅的博客-程序员秘密

在研发过程中,可能会用到将表数据库中的表结构及数据迁移到另外一种数据库中,比如说从mysql中迁移到oracle中,常用的方法有好些,如下:1、使用powerdesigner,先连接mysql然后生成mysql的pdm,再把mysql的pdm生成cdm(注:如果设计阶段有cdm那更好,可以直接使用,因为cdm是和具体数据库类型无关的,所以需要转为这个中间模型),最后把cdm生成orac...

Delphi Android APP 自动更新:_delphi xe 安卓自动更新_sczyq的博客-程序员秘密

资料下载地址: https://download.csdn.net/download/sczyq/12457790===========================================================Delphi Android APP 自动更新: 使用 RADStudio10.3.3 并在 Android 10 测试通过我的理想 : 只需要将新的 APP 复制到网站的下载地址里, 其他的什么也不想做编写过程 : 艰难地从 N 个坑里爬出来后, 终于惊险地..

做软件开发学好算法的重要性_软件工程算法重要吗_移动开发教学的博客-程序员秘密

程序员对算法通常怀有复杂情感,算法很重要是共识,但是否每个程序员都必须学算法是主要的分歧点。很多人觉得像人工智能、数据搜索与挖掘这样高薪的工作才用得上算法,觉得算法深不可测。但是这些其实都不是具体的算法,而是一系列算法的集合。对初学者来说,为避免片面或抽象地理解算法,可根据几个问题评估自己是否适合学习算法:学习算法最重要的是什么?在学习算法的过程中,一能解决问题,二对自己有用,是最大的推动...

0x5f375a86魔法数字_魔数 0x5f3759df_「已注销」的博客-程序员秘密

0x5f375a86属于一个魔法数字。它来自一个传奇算法(平方根倒数速算法),此算法最早被认为是由约翰·卡马克所发明,发明时这个值为0x5f3759df,后来由Lomont通过暴力穷举找到这个更优值,但后来的调查显示,该算法在这之前就于计算机图形学的硬件与软件领域有所应用,如SGI和3dfx就曾在产品中应用此算法。由来此算法最早由Gary Tarolli在SGI Indigo的开发中使用。虽说随后的相关研究也提出了一些可能的来源,但至今为止仍未能确切知晓此常数的起源。这个引擎的源代码里包括一个反

随便推点

编写程序STUDENT *Create(STUDENT studs[],int n)。STUDENT是一个结构类型,包含姓名、成绩和指针域。studs数组中存储了n个STUDENT记录。create函_qq_36237905的博客-程序员秘密

/*****************************************************copyright (C), 2014-2015, Lighting Studio. Co.,     Ltd. File name:Author:Jerey_Jobs    Version:0.1    Date: Description:Funcion List: 

中文分词工具使用方法及比较_ykf173的博客-程序员秘密

中文分词工具分词背景介绍安装及介绍(jieba、pyhanlp、pkuseg、thulac、snownlp、nlpir)windowst系统分词工具安装Linux系统分词工具安装数据集介绍实验结果及比较参考文献分词背景介绍       不管在平时的实验还是比赛中,NLP的绝大多数任务(情感分析、阅读理解、对话系统、文本分类、...

机器学习之模型创建(一)_chuenshuen的博客-程序员秘密

基于模型的机器学习实际上就是要找到一个函数,通过实际输出与预测输出之间的误差,表现模型的精度,在求该函数的极小值的过程中,寻找最优的模型参数。E = Loss(w0, w1) - 正则项 x 正则强度import sklearn.linear_model as lm创建模型model = lm.LinearRegression()训练模型model.fit(输入, 输出) # 通过梯...

贪婪算法(集合覆盖问题) - Python实现_python 集合覆盖模型_Mowa的博客-程序员秘密

集合覆盖问题假设你办了个广播节目,要让全美50个州的听众都能收听的到。为此,你需要决定在哪些广播台播出。在每个广播台播出都需要支付费用,因此你力图在尽可能少的广播台播出。现有广播台名单如下:广播台 覆盖的州 Kone id, nv, ut Ktwo wa, id, mt Kthree or, nv, ca Kfour nv, ut Kfiv...

ERROR 1067 (42000): Invalid default value for TIMESTAMP_weixin_33693070的博客-程序员秘密

为什么80%的码农都做不了架构师?>>> ...

推荐文章

热门文章

相关标签