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包吧?

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

原文地址:https://www.cnblogs.com/10000miles/p/9203879.html