JAVA和JAVAC 命令行

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

JAVA 和JAVAC命令行相关推荐

  1. 如何在Java中解析命令行参数?

    在Java中解析命令行参数的好方法是什么? #1楼 我不建议使用Apache Common CLI库,因为它是非线程安全的. 它使用带有静态变量和方法的有状态类来进行内部工作(例如OptionBuil ...

  2. 如何用命令行写java程序_如何用java实现doc命令行

    如何用java实现doc命令行, dir显示当前所有目录下的文件 cd 文件目录 进入到该目录 cd ..退到上级目录,一面是我写的代码,调试了. 不过有点小bug就是当你进去的是文件就会提示空指针异 ...

  3. 【java】javac命令在win10不可用,提示javac不是内部或外部命令,也不是可运行的程序【解决方法】

    [java]javac命令在win10不可用,提示javac不是内部或外部命令,也不是可运行的程序[解决方法] 参考文章: (1)[java]javac命令在win10不可用,提示javac不是内部或 ...

  4. java中的命令行参数_Java中的命令行参数

    java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...

  5. Win10配置JDK环境变量电脑重启后java、javac命令无法使用

    Win10配置JDK环境变量电脑重启后java.javac命令无法使用 本人猜测,可能是Win10系统开启了"快速启动",在电脑开机启动时没能加载环境变量JAVA_HOME 有3种 ...

  6. 类写了package java命令出错_java/javac命令行如何同时引用多个包;错误 TypeError: 'JavaPackage' object is not callable 的含义...

    出现这类错误提示:'JavaPackage' object is not callable,可以看下所引用的jar包或者class文件是否在java的路径搜索范围内 命令行模式下:javac可以编译* ...

  7. java打包dex_Android 命令行编译、打包生成apk文件

    一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1.6. ...

  8. Java:cmd命令行中 错误: 找不到或无法加载主类(从原理出发讲解!)

    参考阅读(推荐) 使用java命令运行class文件提示"错误:找不到或无法加载主类"的问题分析 以下为原答案,不适用于所有问题场景,敬请参考上述链接(讲解非常细致) 知识点 ja ...

  9. Java基础 - javac命令详解(1) 编译基本java项目

    1.为什么要搞定 javac 命令 1.javac 是java中的编译源代码的命令工具,将.java文件编译成 .class 文件: 2.由于当下为了提高开发效率,大多数的开发工作都在 java的 集 ...

最新文章

  1. [JavaScript] JavaScript 运算符与流程控制
  2. cvs update 用法_WinCVS的配置与使用方法
  3. html禁止文本选择,[译]用CSS来禁止文本选择
  4. 小程序wx.createInnerAudioContext()获取不到时长问题
  5. 少儿编程150讲轻松学Scratch(十一)-用Scratch巧解数学题——判定质数
  6. 利用jdk自带的运行监控工具JConsole观察分析Java程序的运行 Jtop
  7. LibLinear(SVM包)使用说明之(三)实践
  8. java tcp ip原理_从0到1用java再造tcpip协议栈:ICMP协议的原理和实现
  9. 中国风春节传统文化海报插画为载体的素材
  10. 如何选择自己适合的引流平台?
  11. javascript 中文帮助文档_我的《ANSA快速入门指南》中文帮助文档浅析(上)
  12. HDU - 6191 Query on A Tree
  13. 我的世界服务器组件怎么用,我的世界:两款服务器的组件功能,种树也有学问,种树技巧!...
  14. redhat/centos下的lamp
  15. win10 安装oracle 11gR2_database(内附下载地址)
  16. myeclipse黑色主题怎么还原
  17. 联想笔记本键盘亮屏幕不亮_笔记本电脑进入睡眠状态后无法通过鼠标或键盘来唤醒屏幕怎么解决...
  18. CISSP考试经验分享
  19. leetcode刷题之x的算术平方根
  20. RTKLIB_E.5对流层和电离层模型

热门文章

  1. Python之常用的高阶函数——abs、map、reduce、filter、sorted
  2. TortoiseSVN在Windows下的使用
  3. Note:理解CGI、FastCGI、PHP-CGI和PHP-FPM
  4. 【PHPWord】TextRun
  5. mysql 分组排序_Python、PowerBI、Excel、MySQL,都能做?搞清楚数据聚合与分箱
  6. python 文件更新_使用Python批量更新服务器文件【新手必学】
  7. python3自动释放线程_Python3高级特性:并发
  8. linux下mysql日志配置_Linux下MySQL 5.5.21 服务器日志配置
  9. 编辑数学公式_LaTeXiT for mac(数学公式编辑器)
  10. vb.net 功能f8键事件_Excel中F1~F12所有功能键作用,你知道吗?