classpath和jar包

安装JDK需要配置环境变量;path是命令目录及bin目录;JAVA_HOME是JDK的安装目录;classpath是指定字节码文件存放的路径在哪里。今天讲的就是classpath的设置
网上有很多classpath的文章;但大部分都是不靠谱的;一个好的程序员是瞧不上以IDEA编程的。最好claspath是不设置
原因:
1. classpath到环境变量会污染系统
2. 临时设置好

classpath

定义: 是JVM用到的一个环境变量,用来指示JVM如何搜索class字节码文件。
java是一门编程语言,源文件是.java;但编译后的.class文件才是真正被JVM执行的。

一. classpath设置搜索路径于操作系统相关

Windows用冒号 ; 来分隔

	C:\work\project1\bin;C:\shared;"D:\My Documents\project1\bin"

Linux用 :冒号来分隔

			/usr/shared:/usr/local/bin:/home/liaoxuefeng/bin

设置classpath后,JVM会自动按照classpath的目录遍历查找 字节码文件
. 表示的是当前目录
; 代表的是分隔符
从前往后依次查找遍历字节码文件。找到后就不会在查找了

二.classpath的设置

1.在环境变量里设置

2.在JVM启动时临时设置classpath

推荐这一种,在环境变量设置会污染整个系统变量。
java -classpath .;H:myapp\editplus\daima;C:\shared abc.xyz.Hello
java -cp .;H:myapp\editplus\daima;C:\shared abc.xyz.Hello

3.不设置class path

不设置classpath 默认为 . 就是当前目录
运行Java程序,IDE自动传入-cp参数和当前工程的bin目录和引入jar包;在编写class时,会自动引入Java核心库的class;eg. String ArrayList;
JVM不依赖classpath加载核心库rt.jar
不要设置classpath!默认的当前目录.对于绝大多数情况都够用了
H:\myapp\editplus\daima java -cp . com.example.Hello
表示运行daima文件下的Hello.class文件,在com.example包下的
JVM虚拟机根据 classpath在daima目录下找包中的Hello.class字节码文件

4.jar包

将所有散落在文件夹里的class文件以目录的形式压缩成zip格式改jar。把package组织的层级下的所有文件压缩。
java -cp ./hello.jar abc.xyz.Hello
jar包第一层不能是bin目录;必须hong ming mr
如果打包有问题JVM无法从中找class

5.Maven

Maven可以非常方便的创建jar包
Jar包可以包Jar包;需要在MANIFEST.MF 配置classpath.大型项目不能手动创建zip包

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值