JBoss Modules 模块描述文件解析
jboss的module模塊描述文件是一個XML文件,用來描述模塊的結構,內容,依賴關系,過濾器,以及其它屬性。它的格式是富有表現力的,用于使基于文件系統的模塊裝載器允許描述文件和模塊內容放在一起,而不需要在模塊內容之中。特別是,它在文件系統中的位置是將模塊名轉成以點號分割的目錄,并加上該模塊的version slot。然后以模塊根路徑附上該目錄就可以找到?module.xml?文件。
下面是一個 JBoss Application Server 的模塊描述文件:
模塊描述文件示例:
<?xml version="1.0" encoding="UTF-8"?><module xmlns="urn:jboss:module:1.0" name="org.jboss.msc"> <main-class name="org.jboss.msc.Version"/> <resources> <resource-root path="jboss-msc-1.0.1.GA.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="org.jboss.logging"/> <module name="org.jboss.modules"/> <!-- Optional deps --> <module name="javax.inject.api" optional="true"/> <module name="org.jboss.threads" optional="true"/> <module name="org.jboss.vfs" optional="true"/> </dependencies> </module>module 元素
模塊描述XML有一個根元素module 應用于?urn:jboss:module:1.0?命名空間,它支持以下屬性:
module元素可以包含下列子元素:
定義了main-class?元素的模塊意味著該模塊是可執行的。也就是說,模塊名能夠被列在命令行中,然后main-class中的標準靜態方法?main(String[])會被執行。
main-class元素支持以下屬性:
這個元素不包含任何子元素。
main class 不需要是該模塊的實際資源,也不需要被exported。任何對于該模塊可見的public class(包括所有imported的依賴或者資源)都可以作為main class, 只要它有方法public static void main(String[] args)。
resources 元素
為了讓一個模塊具有實際的內容,你必須為其定義至少一個resources元素。
resources元素不支持任何屬性;它包含0至多個resource-root元素。resource-root元素支持下面的屬性:
另外,resource-root?元素可能包含一個子元素:
參考過濾器定義一節獲得更多信息。
dependencies 元素
一個模塊可能通過dependencies元素描述一個或多個對于其它模塊的依賴。dependencies元素不支持任何屬性,它包含一個或多個dependency元素,支持一下屬性:
對于Java service provider接口機制的介紹,可以參考:?http://download.oracle.com/javase/tutorial/sound/SPI-intro.html
另外,dependencies?元素支持以下子元素:
對依賴模塊添加exclude的示例:
<dependencies> <module name="org.jboss.example"> <imports> <exclude-set> <path name="org.jboss.example.tests"/> </exclude-set> </imports> </module> </dependencies>參考過濾器定義獲得關于過濾器更多的信息。
參考資料:
JBoss Modules – 模塊描述
from:?http://www.hollischuang.com/archives/856
總結
以上是生活随笔為你收集整理的JBoss Modules 模块描述文件解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JIT 编译器概述
- 下一篇: JBoss Modules – Modu