jar包

Posted 灰衣僧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jar包相关的知识,希望对你有一定的参考价值。

Java关于jar包的知识详解

 更新时间:2019年03月21日 09:26:12   作者:echo丶若梦   技术图片 我要评论
 
这篇文章主要介绍了Java关于jar包的知识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在学习jar包之前,要先弄懂Java包,以及关于Java包的相关概念。

一、包

为了更好地组织类,Java提供了包机制。包是类的容器,用于分隔类名空间。如果没有指定包名,所有的示例都属于一个默认的无名包。

格式为:

package pkg1[.pkg2[.pkg3…]];

代码实例:

1
2
3
4
5
6
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包的文件

1
2
3
4
5
6
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包的知识详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

 

原文链接:https://www.jb51.net/article/158188.htm

以上是关于jar包的主要内容,如果未能解决你的问题,请参考以下文章

mysql jdbc源码分析片段 和 Tomcat's JDBC Pool

Javalucene4.0学习心得

如何使用片段反向移植?

Spring+SpringMVC+MyBatis+Maven框架整合

maven-shade-plugin插件未生效原因分析

sh 首次创建Alexa技能 - 创建JAR存档片段