Java基础——关于jar包的知识
在学习jar包之前,要先弄懂Java包,以及关于Java包的相关概念。
一、包
为了更好地组织类,Java提供了包机制。包是类的容器,用于分隔类名空间。如果没有指定包名,所有的示例都属于一个默认的无名包。
格式为:
package pkg1[.pkg2[.pkg3…]];
代码实例:
package cn.com.zhouzhou;//包名一定要由小写字母组成
public class Lession1 {
public static void main(String[] args) {
System.out.println("这是我创建的第一个在包下的文件");
}
}
注意事项:
1.程序中如果有package语句,该语句一定是源文件中的第一条可执行语句;
2.package语句的前面只能有注释或空行;
3.一个文件中最多只能有一条package语句;
4.包的名字有层次关系,各层之间以点分隔(上例中的“cn.com.zhouzhou”);
(图:演示)

5.包层次必须与Java开发系统的文件系统结构相同;
6.通常包名中全部用小写字母;
7.当使用包说明时,程序中无需再引用(import)同一个包或该包的任何元素;
8.import语句只用来将其他包中的类引入当前名字空间中。而当前包总是处于当前名字空间中。
* 示例演示:

1)编译的时候用:(我的文件是存在E盘了)
e:\>javac -d . Lession1.java // 可以生成对应的文件夹结构
2)执行的时候,要执行全类名
java cn.com.zhouzhou.Lession1
注意事项说明:
1.同一个源文件中的类,都在同一个包中,同一个包中的内容互相访问,不用导包;
2.导包的时候 以下两句;
import cn.com.zhouzhou.beans.*;
import cn.com.zhouzhou.beans.UserInfo;
这两句,只在编译的时候有后者稍快一点,在运行的时候没有任何区别
3.如果要设置classpath ,要设置到最外层的文件夹所在的目录上,比如:
package cn.com.zhouzhou;
set classpath=cn的所在的文件夹名称
4.对于父包和子包,在使用上没有任何关系,只要不在一个包中,引用的时候就必须导包;
5.以后在开发中,如果出现一个类名找不到的情况,主要以下原因:
1)类名写错了
2)包名错了
3)classpath 设置错了
6.对于 java.lang 包下的类,使用的时候可以不导包。
二、jar包
java中的jar文件 ,装的是 .class 文件。它是一种压缩,和zip兼容,被称为jar包。JDK提供的许多类,也是以jar包的形式提供的。
在用的时候呢,你的文件里有很多个类,把这些类和他们的目录一起压缩到一个文件中给别人,会显得更专业,有条理。别人拿到这个jar包之后,只要让他的classpath 的设置中包含这个jar文件,java虚拟机,在装载类的时候,就会自动解压这个jar文件,并将其当成目录,然后在目录中查找我们所要的类及类的包名和所对应的目录的结构。
那么如何创建一个Jar包呢?下面我将演示一下具体步骤:
1.需要打成jar包的文件
package cn.com.zhouzhou;//包名一定要由小写字母组成
public class Lession2 {
public static void main(String[] args) {
System.out.println("这是我要打jar包的文件");
}
}
2.编译
e:\>javac -d . Lession2.java
(d后面的点,点的两侧都要有空格)

3.打Jar包
jar -cvf myjarbao.jar cn
(生成名叫myjarbao.jar的文件;后面的cn不要忘记)

生成结果如下:

Java基础——关于jar包的知识的更多相关文章
- 【Java基础】Jar包结构结构分析和操作具体解释
作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 ...
- [Java基础] 深入jar包:从jar包中读取资源文件
转载: http://hxraid.iteye.com/blog/483115?page=3#comments 我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的 ...
- java项目打jar包的两种情况
链接地址:http://jingyan.baidu.com/article/6b97984d8a6ddc1ca2b0bfa0.html 本文介绍一下java项目打jar包时的两种情况各怎么操作 方 ...
- IntelliJ IDEA导出Java 可执行Jar包
原文:IntelliJ IDEA导出Java 可执行Jar包 保证自己的Java代码是没有问题的,在IDEA里面是可以正常运行的,然后,按下面步骤: 打开File -> Project Stru ...
- eclipse生成【带有外部jar包】的java可执行jar包
之前有写过一篇使用eclipse生成java可执行jar包,但是最近的一次使用中无论如何都不成功,当双击执行打成的jar时,弹出如下错误: could not find the main class: ...
- SoapUI接口测试-验签值处理-调用java的加密jar包
转载自:https://www.jianshu.com/p/7c672426a165 一. 背景: 调用接口时有个请求参数是对请求入参按一定规则进行加密生成的验签值,每次不同参数的请求生成唯一的验签值 ...
- java反射查看jar包中所有的类名方法名
不反编译,不用其他工具,用java反射查看jar包中所有的类名方法名,网上很多都报错,下面这个你试试看:话不多说直接撸代码: import java.lang.reflect.Field; impor ...
- Linux上java程序的jar包启动通用脚本(稳定用过)
Linux上java程序的jar包启动通用脚本如下: #! /bin/sh export LANG="zh_CN.GBK" SERVICE_NAME=` .sh` SCRIPT_N ...
- java命令启动jar包
本人对这些命令也是一知半解,记录备用. 1. 使用java命令行执行java文件 # 设置命令窗口标题 title test1 # 开启输出 @echo on # 设置环境变量JAVA_HOME se ...
随机推荐
- VS2012发布网站详细步骤问题
http://blog.csdn.net/mrobama/article/details/43118387
- 看我如何粘贴别人代码--socketserver
源码执行流程 自己模仿一个(提取代码) 服务器类 import socket import threading import selectors class TCPServer: def __init ...
- Codeforces 558E A Simple Task (计数排序&&线段树优化)
题目链接:http://codeforces.com/contest/558/problem/E E. A Simple Task time limit per test5 seconds memor ...
- linux shell脚本、命令学习
1,echo "test" > test.txt 输出重定向到text.txt,文件不存在就创建 echo "test" >> test ...
- 终极版:Mybatis整合Spring配置
第一部分:配置 Spring 框架 配置 SpringMVC 的步骤: 配置流程图: SpringMVC 配置 1. 导入包(那些包,基本包 5 个,1 个日志依赖包,2 个 webmvc 支持包) ...
- Spring Session产生的sessionid与cookies中的sessionid不一样的问题 && httpOnly 设置不起作用的问题??
背景: Springboot 2.0 (spring-session-data-redis + spring-boot-starter-web) 需求: 通过cookies中取到的 sessionid ...
- .net基础学java系列(四)Console实操
上一篇文章 .net基础学java系列(三)徘徊反思 本章节没啥营养,请绕路! 看视频,不实操,对于上了年龄的人来说,是记不住的!我已经看了几遍IDEA的教学视频: https://edu.51cto ...
- MyCat分片规则--笔记(二)
概述 myCat实现分库分表的策略,对数据量的处理带来很大的便利,这里主要整理下MyCat的使用以及常用路由算法,针对MyCat里面的事务.集群后续再做整理:另外内容整理,不免会参考技术大牛的博客,内 ...
- Semantic difference between object expressions and declarations
object expressions are executed (and initialized) immediately, where they are used; object declarati ...
- Anaconda python环境管理
1.查看conda的版本: conda --version 2. 查看当前系统安装已的python环境: conda info --envs 3. 添加python环境: conda create - ...