zoukankan      html  css  js  c++  java
  • 2.1依赖概念之前的预备--war、jar包内部结构

           java是软件发展的产物,其粒度远远超过了汇编、c等,从面向过程到面向对象,粒度增大,软件进入了构建了层次,当然仍然可以使用面向过程的语言那样抽象出编程模型即输入、处理、输出,概念上下文等,了解它的本质很重要。当我们有现成的算法甚至构件工具可以复用的时候,当前的核心关注点更应该是软件体系结构、组件等这些大粒度的目标。不在赘言,旨在说明一点构建活动在当下的编程活动中凸显的很重要,与其说是写代码倒不如说是“安装代码”,这样的隐喻很适合现在的背景,因为当我们引用jar包的时候,抽象层次更是超越了组件、体系结构。

      因此着重学习maven的依赖概念,在展开之前,先认识jar、war包。 

        典型的jar包内部结构如下:

    tools.jar

      |  resource.xml                    // 资源配置文件

      |  other.xml

      | 

      |— META-INF           

      |            MANIFEST.MF         // jar包的描述文件

      |— com                               // 类的包目录

             |—test  

                       util.class            // java类文件

    典型的war包的内部结构如下:

    webapp.war

      |    index.jsp

      |

      |— images

      |— META-INF

      |— WEB-INF

              |   web.xml                   // WAR包的描述文件

              |

              |— classes

              |          action.class       // java类文件

              |

              |— lib

                        other.jar             // 依赖的jar包

                        share.jar

    因为依赖概念的主体对象是jar包,在学习maven的依赖管理之前,先看一下所依赖的jar是什么样子,然后思考几个问题,带着问题去理解概念。

    1.jar包中代码应该也会依赖其他jar包吧,那么被依赖的jar包是否在要依赖的jar包中引入了呢? 

    2.如果jar包中有依赖是否只是在其内部的某些class文件中有说明?

    3.使用maven打成的jar包,是在jar包内包含的pom文件中说明了依赖?

    4.有pom的jar包,通过maven依赖引入时,是通过maven的管理引入其他简介被使用到的jar包吧?

    网上查阅了半天没有结果,只能带着猜测和疑问自己在后续的学习中摸索。算是一个预热吧!

  • 相关阅读:
    HDOJ1267 下沙的沙子2[DP或卡特兰数]
    HDOJ1711 Number Sequence[KMP模版]
    HDOJ2546 饭卡[DP01背包问题]
    寻找必败态——一类博弈问题的快速解法
    kmp 模版
    网络流题目
    HDOJ1261 字串数[组合+大数]
    传说中效率最高的最大流算法(Dinic) [转]
    ACM博弈论
    HDOJ1061 Rightmost Digit[简单数学题]
  • 原文地址:https://www.cnblogs.com/10000miles/p/9203879.html
Copyright © 2011-2022 走看看