`
jbosscn
  • 浏览: 149721 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JBoss Modules - 模块描述

 
阅读更多

模块描述文件是一个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 " 命名空间,它支持一下属性:

 

Attribute Type Required? Description
name string Yes

该模块的名字。必须与要装载的模块名称相符。

slot string No The version slot. 如果没指定,默认为 "main ".

 

"module " 元素可以包含下列子元素:

Element Required? Description
main-class No 该模块的main类,main类在模块装载的时候,会执行其main方法
resources No 组成该模块的资源
dependencies No 模块的依赖
exports No 定于用于过滤该模块export资源的过滤器

main-class 元素

定义了"main-class " 元素的模块意味着该模块是可执行的。也就是说,模块名能够被列在命令行中,然后"main-class"中的标准静态方法 "main(String[])"会被执行。

 

 

"main-class " 元素支持以下属性:

Attribute Type Required? Description
name string Yes main class 的名称

这个元素不包含任何子元素。

Note

main class 不需要是该模块的实际资源,也不需要被exported。任何对于该模块可见的public class(包括所有imported的依赖或者资源)都可以作为main class, 只要它有方法"public static void main(String[] args) "。

resources 元素

为了让一个模块具有实际的内容,你必须为其定义至少一个"resources"元素。

 

"resources"元素不支持任何属性;它包含0至多个"resource-root"元素。"resource-root"元素支持下面的属性:

Attribute Type Required? Description
path string Yes

该resource的路径,相对于module.xml位置

name string No

该resource的名称。如果未指定,则为resource的path

 

另外,"resource-root " 元素可能包含一个子元素:

Element Required? Description
filter No

作用于resource的目录过滤器。如果未指定,则接受所有路径。

参考过滤器定义一节获得更多信息。

  dependencies 元素

一个模块可能通过"dependencies"元素描述一个或多个对于其它模块的依赖。"dependencies"元素不支持任何属性,它包含一个或多个"dependency"元素,支持一下属性:

 

Attribute Type Required? Description
name string Yes

依赖的模块的名称

slot string No 依赖的模块的 version slot,默认为 "main ".
export boolean No

指定这个依赖是否被再次export,默认为 "false"

services enum No

指定定义在依赖模块中META-INF/services的 services是否被 import/export。可能的值有:"none", "import", "export",默认为 "none"

optional boolean No

指定这个依赖是否是可选的,默认为 "false"

* 对于Java service provider接口机制的介绍,可以参考: http://download.oracle.com/javase/tutorial/sound/SPI-intro.html

 

另外,"dependencies " 元素支持一下子元素:

Element Required? Description
imports No

路径过滤器用于限定依赖模块中哪些路径被 import

exports No

路径过滤器用于限定依赖模块中哪些被 import 的路径可以被再次 export

对依赖模块添加exclude的示例:
<dependencies>
    <module name="org.jboss.example">
        <imports>
            <exclude-set>
                <path name="org.jboss.example.tests"/>
            </exclude-set>
        </imports>
    </module>
</dependencies>
 

参考过滤器定义获得关于过滤器更多的信息。

分享到:
评论

相关推荐

    jboss-threads-3.1.0.Final-API文档-中文版.zip

    赠送jar包:jboss-threads-3.1.0.Final.jar; 赠送原API文档:jboss-threads-3.1.0.Final-javadoc.jar; 赠送源代码:jboss-threads-3.1.0.Final-sources.jar; 赠送Maven依赖信息文件:jboss-threads-3.1.0.Final....

    jboss-annotations-api_1.3_spec-2.0.1.Final-API文档-中英对照版.zip

    赠送jar包:jboss-annotations-api_1.3_spec-2.0.1.Final.jar; 赠送原API文档:jboss-annotations-api_1.3_spec-2.0.1.Final-javadoc.jar; 赠送源代码:jboss-annotations-api_1.3_spec-2.0.1.Final-sources.jar;...

    jboss-logging-3.3.2.Final-API文档-中文版.zip

    赠送jar包:jboss-logging-3.3.2.Final.jar; 赠送原API文档:jboss-logging-3.3.2.Final-javadoc.jar; 赠送源代码:jboss-logging-3.3.2.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.3.2.Final....

    jboss-logging-3.4.1.Final-API文档-中文版.zip

    赠送jar包:jboss-logging-3.4.1.Final.jar; 赠送原API文档:jboss-logging-3.4.1.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.1.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.1.Final....

    jboss-modules-1.15.GA.jar

    当时遇到这个问题org.jboss.naming.remote.client.InitialContextFactory(WFLYNAM0027 : ClassNotFoundException: org.jboss.naming.remote.client.InitialContextFactory) 去外网下载了这个,成功通过了

    jboss-modules-1.9.2.Final.jar

    jboss-modules-1.9.2.Final.jar,最新JBoss程序,Linux、Ubuntu下适用。

    jboss-logging-3.4.3.Final-API文档-中文版.zip

    赠送jar包:jboss-logging-3.4.3.Final.jar; 赠送原API文档:jboss-logging-3.4.3.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.3.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.3.Final....

    JavaEE源代码 jboss-common

    JavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-...

    jboss-eap-6.4.0.zip

    jboss-eap-6.4.0.zip

    jboss-as-sprint-int-5.0.0.GA.jar jboss-spring-int-vfs.jar

    解决jboss启动报错vfs解析异常问题,缺少依赖包问题。包含jboss-as-sprint-int-5.0.0.GA.jar jboss-spring-int-vfs.jar

    JBossTools-ALL-win32-3.0.0.CR2

    JBossTools-ALL-win32-3.0.0.CR2-

    JBossIDE-1.4.1

    JBossIDE-1.4.1-e30 JBossIDE-1.4.1-e30 JBossIDE-1.4.1-e30

    jboss-logging-3.1.0.CR2

    有人向我要,所以传上来! 错误信息:java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger 解决办法:加入jboss-logging-3.1.0.GA.jar就好了。hibernate4日志机制改了

    JavaEE源代码 jboss-jmx

    JavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-...

    JavaEE源代码 jboss-cache

    JavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源...

    JavaEE源代码 jboss-system

    JavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-...

    jboss-logging-3.4.3.Final-API文档-中英对照版.zip

    赠送jar包:jboss-logging-3.4.3.Final.jar; 赠送原API文档:jboss-logging-3.4.3.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.3.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.3.Final....

    jboss-eap-7.1.0

    jboss-eap-7.1.0 jboss-eap-7.1.0 jboss-eap-7.1.0 jboss-eap-7.1.0 jboss-eap-7.1.0

    jboss-websocket-api_1.1_spec-2.0.0.Final-API文档-中文版.zip

    赠送jar包:jboss-websocket-api_1.1_spec-2.0.0.Final.jar; 赠送原API文档:jboss-websocket-api_1.1_spec-2.0.0.Final-javadoc.jar; 赠送源代码:jboss-websocket-api_1.1_spec-2.0.0.Final-sources.jar; 赠送...

    jboss-as-sprint-int-5.0.0.GA.jar 和 jboss-spring-int-vfs.jar

    从Tomcat移植到JBoss所需要新增的两个jar包:jboss-as-sprint-int-5.0.0.GA.jar 和 jboss-spring-int-vfs.jar

Global site tag (gtag.js) - Google Analytics