问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javac和java 有什么区别和联系?

发布网友 发布时间:2022-04-23 02:20

我来回答

3个回答

热心网友 时间:2023-10-11 12:35

javac和java命令行中的-classpath选项
这是个很基础的问题,但是因为基本上都是用现有的IDE工具 来开发java程序,所以很少有人意识到这一点。
javac
-classpath,设定要搜索类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有在CLASSPATH里面的设定。
-sourcepath, 设定要搜索编译所需java 文件的路径,可以是目录,jar文件,zip文件(里面都是java文件)。
所以一个完整的javac命令行应该是这样的,
假设abc.java在路径c:\src里面,在任何的目录的都可以执行以下命令来编译。
javac -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip -sourcepath c:\source\project1\src;c:\source\project2 \lib\src.jar;c:\source\project3\lib\src.zip c:\src\abc.java

表示编译需要c:\classed下面的class文件,c:\jar\abc.jar里面的class文件,c:\zip\abc.zip里面的class文件
还需要c:\source\project1\src下面的源文件,c:\source\project2 \lib\src.jar里面的源文件,c:\source\project3\lib\src.zip里面的源文件,
注意:jar,zip里面的源文件不会有什么改动,目录下的源文件,有可能会被重新编译。
java
-classpath, 设定要搜索的类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有的CLASSPATH的设定。
由于所要执行的类也是要搜索的类的一部分,所以一定要把这个类的路径也放到-classpath的设置里面。
表现在,在要执行的类的路径里面执行java时,一定要添加上点号(.)标示本目录也要搜索。

假设abc.class在路径c:\src里面
可以在任何路径下执行以下命令
java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;c:\src abc

问题:如果main.class属于c:\jar\abc.jar,并且在com.cnblogs.jeffchen这个包里,那么执行java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;com.cnblogs.jeffchen.main即可, 但是如果classpath中包含多个jar包呢?并且其他jar包中也有com.cnblogs.jeffchen会发生什么情况?错误?

在windows下,
文件路径的分割符为反斜杠 \
类或者java文件列表的分割符为分号 ;

在linux下
文件路径的分隔符位斜杠 /
类或者java文件列表的分隔符为冒号 :

一个linux下编译和运行的例子
/usr/local/java/bin/javac -classpath /tmp/javatest/lib/mail-1.3.3.jar -d /tmp/javatest/bin/ /tmp/javatest/src/jp/co/realseed/Capability.java

/usr/local/java/bin/java -classpath /tmp/javatest/lib/mail-1.3.3.jar:/tmp/javatest/bin/ jp.co.realseed.Capability

热心网友 时间:2023-10-11 12:35

javac 编译.java文件成为.class文件
java 运行.class 程序

热心网友 时间:2023-10-11 12:36

不同命令,一个是编译java类,一个执行java类
相同就是都是java的命令。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 问javac java jdk jdbc的区别 java 和javac的区别? javac与java的区别是什么? 拼酷模型坏了怎么办 塑料拼装玩具零件断了怎么办 七夕节送新交的女朋友什么好呢?小巧精致一点的。不要太贵了 cf里怎样打出特殊符号 兰州最新团购网有那个 我想在小学校附近开家品牌童鞋店,不知什么品牌的童鞋好,适合经营,由于没有经验,请问童鞋的利润是多少 与女儿没共同语言了怎么办? 嫁衣酷拼成品怎么寄啊? 拼酷黑龙王脖子咋拼啊? 在拼酷公众号里下的补给订单要怎么即款 拼酷嫁衣 耳朵怎么拼不容易掉? 拼酷 俾斯麦号战列舰 怎么拼装 最近迷上了金属拼图,拼酷的金属拼图怎么样?拼起来困难吗?还有没有其他类似的有意思好玩的手工小玩意? 拼酷说明书怎么区分序号? 拼酷拼装模型怎么样,好不好 怎么购买正版拼酷? 现代悦动空调加氟气门芯是什么型号? javac和Eclipse编译器有什么区别 JVM,JDK和JRE有什么区别?它们的联系是什么? Java与C++程序在编译和运行上有什么区别? Jbuild和javac有什么区别? javac和javaw有什么区别,是不是一个性质的啊 苹果手机序列号含义是什么? javac 的路径区别 javacpl和javac有何区别 菜鸟问题: jdk, jar, javaw, javac, javah分别是什么?? 关于java_home,classpath,path和javac的问题 请详细写出Javac和Java两个命令的使用方式 java javac命令是否区分大小写 JAVA编译器在不同平台编译同一个类,编译的结果是否相同 javacHelloWorld.java与javaHelloWorld参数的意义与区别 javac中的source和target的区别 笔记本一般是多重? 鞋子的英文是什么? 鞋子的英语单词怎么写? 国内鞋子品牌有哪些? 鞋子有哪些分类?