我们为什么要在JBoss AS 7中定义驱动程序模块时指定依赖项?

时间:2014-12-21 08:41:59

标签: java jboss datasource

如何在official JBoss documentation

中定义驱动程序
<module xmlns="urn:jboss:module:1.0" name="com.mysql">  
  <resources>  
    <resource-root path="mysql-connector-java-5.1.21.jar"/>  
  </resources>  
  <dependencies>  
    <module name="javax.api"/>  
  </dependencies>  
</module

我没理解为什么要定义依赖项标签?它有什么责任?当然,我们应该定义一个驱动程序的路径,它很清楚。但<dependencies>使我感到困惑。有人能解释一下吗?

1 个答案:

答案 0 :(得分:1)

它在您提供的文档链接中说明

  

最后,您可以定义可能具有的任何依赖关系。在这种情况下,与所有JDBC数据源的情况一样,我们将依赖于Java JDBC API,在这种情况下,在另一个名为javax.api的模块中定义,您可以在 modules / javax / api下找到它。 / main 正如您所料。

您可以在突出显示的目录中查找另一个module.xml。这是命名模块"javax.api"的模块定义。正如您已将模块定义为"com.mysql"一样,如果系统中的任何其他模块需要您的模块,那么它还将使用您的模块名称定义<dependencies>元素。

模块简单地定义为

  

模块是用于类加载和依赖关系管理的类的逻辑分组......

     

模块依赖性是一个声明,一个模块需要另一个模块的类才能运行。模块可以声明对任意数量的其他模块的依赖性。当应用程序服务器加载模块时,模块化类加载器会解析该模块的依赖关系,并将每个依赖关系中的类添加到其类路径中。

如果你熟悉Maven,那就是同样的事情。依赖性可能取决于其他依赖性。在pom.xml中,工件将定义其依赖关系。如果您依赖该工件,那么您还需要依赖项。

进一步阅读: