zoukankan      html  css  js  c++  java
  • 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不要忘记)

    生成结果如下:

  • 相关阅读:
    Scala中使用fastJson 解析json字符串
    SparkStreaming直连方式读取kafka数据,使用MySQL保存偏移量
    Spark 将DataFrame所有的列类型改为double
    Idea里面远程提交spark任务到yarn集群
    Spark-读写HBase,SparkStreaming操作,Spark的HBase相关操作
    scala之map,List,:: , +:, :+, :::, +++操作
    kafka auto.offset.reset参数解析
    spark-submit提交spark任务的具体参数配置说明
    docker plugin test
    docker ui
  • 原文地址:https://www.cnblogs.com/gaoht/p/10564723.html
Copyright © 2011-2022 走看看