模块的定义是可插拔的,一个模块有多种方式来定义。然而,JBoss Modules采用了两种最常使用基本的实现策略。
第一个策略是使用静态的文件系统库(static filesystem repository)。一句模块的名称和版本,将模块组织在文件系统的目录层次结构中。模块目录的内容包括一个简单的模块描述文件和模块本身所有的内容(JARs或者任意的文件)。
第二个策略是直接读取JAR文件。它使用JAR MANIFEST.MF信息来定义简单的依赖关系以及其他信息,可以适用于直接在命令行执行JARs文件,以及JAR被部署到一个像JBoss应用服务器这样的容器当中的情况。