Java命令行中对jar依赖的处理

在我们使用javac和java命令来编译和运行Java程序时,经常会碰到需要引入外部jar依赖的情况。例如当我们使用org.json.JSONObject时,我们就需要引入json.jar这个外部包。但使用javac编译Java程序时,如何指定jar依赖呢?

我们用一个例子来说明。在下面的例子中,我们的主程序是Main.java,它的编译需要两个jar文件:json.jar和fast.jar,这两个jar文件都放在了./libs文件夹下。

javac -cp .:./libs/json.jar:./fast.jar Main.java

上面的命令会编译出Main.class文件。要运行这个class,我们需要下面的命令:

java -cp .:./libs/json.jar:./libs/fast.jar Main

注意,在运行时,我们同样需要指定它的jar依赖,否则会出现如下的运行时错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 7,982评论 0 3
  • Activity生命周期 典型生命周期 指在有用户参与的情况下,Activity经历的生命周期的改变。正常情况下,...
    wangsye阅读 5,252评论 0 0
  • 这个夏天 风儿在阳光中默默穿行 我知道 行走这里的每一天 你 都是我心底的一片清凉 当我想起你的日子 鲜艳的花儿争...
    石川河女神阅读 2,481评论 1 3
  • 不使用继承 动态扩展 不改变原有的类 装饰器模式是一种结构型模式,它动态的给一个对象添加一些额外的职责。就增加功能...
    spike15阅读 5,966评论 0 0

友情链接更多精彩内容