jboss7.1和eclipse4.3+jdk1.7部署項目運行出錯

  1. 14:56:37,166 ERROR org.jboss.msc.service.fail MSC00001: Failed to start service jboss.deployment.unit."ABSAppian.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."ABSAppian.jar".POST_MODULE: Failed to process phase POST_MODULE of deployment "ABSAppian.jar"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
    at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]

  2. Caused by: java.lang.RuntimeException: Error getting reflective information for class com.nmg.service.contract.ContractReportService with ClassLoader ModuleClassLoader for Module "deployment.ABSAppian.jar:main" from Service Module Loader
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:85)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:70)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:55)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 5 more

  3. Caused by: java.lang.NoClassDefFoundError: jxl/biff/DisplayFormat
    at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.7.0_51]
    at java.lang.Class.privateGetDeclaredFields(Class.java:2397) [rt.jar:1.7.0_51]
    at java.lang.Class.getDeclaredFields(Class.java:1806) [rt.jar:1.7.0_51]
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.(ClassReflectionIndex.java:57) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 10 more

  4. Caused by: java.lang.ClassNotFoundException: jxl.biff.DisplayFormat from [Module "deployment.ABSAppian.jar:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.1.GA]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
    ... 15 more
    注:jxl包我已經放在lib下了,但還是報錯。

/*
分两步:1、配置全局依赖: 在system-layers-base下新建一个项目的包:如appian,在该包下新建一个main包,里面放第三方包和一个总的xml文件(叫module.xml)。xml文件内容如下(参考):
<?xml version="1.0" encoding="UTF-8"?>








<!-- Insert resources here -->


就是把相应的jar包配置到里面去。

2、在standalone-configuration下的standalone.xml文件里配置全局参数(就是下面这三行代码):



上面这段代码具体位置如下:







false
true









这样全部依赖关系配置完毕。可以使用了。

    另外补充一点数据源配置问题。jboss5.1升级到7.0以上,数据源配置有些不同。两处改动。1、在standalone.xml文件里的datasource配置在以下位置:
     <subsystem xmlns="urn:jboss:domain:datasources:1.1">
        <datasources>
            <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                <driver>h2</driver>
                <security>
                    <user-name>sa</user-name>
                    <password>sa</password>
                </security>
            </datasource>
            <datasource jndi-name="" pool-name="" enabled="true" use-java-context="true">
                <connection-url></connection-url>
                <driver></driver>
                <security>
                    <user-name></user-name>
                    <password></password>
                </security>
            </datasource>
            <datasource jndi-name="java:/MySqlDS" pool-name="MySqlDS" enabled="true" use-java-context="true">
                <connection-url></connection-url>
                <driver></driver>
                <security>
                    <user-name></user-name>
                    <password></password>
                </security>
            </datasource>
            <drivers>
                <driver name="h2" module="com.h2database.h2">
                    <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                </driver>
                <driver name="mysqlh1" module="com.mysqldatabase.mysql">
                    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                </driver>
            </drivers>
        </datasources>
    </subsystem>
            即可。
            2、在layers-base-com下先建1个mysqldatabase的包,这个包下新建一个mysql包,该包下新建一个main包,里面放上mysql的jar包和一个module.xml配置文件。
            里面内容如下:
            <?xml version="1.0" encoding="UTF-8"?>









ok,可以正常使用了。
注:另外配置依赖关系,也可以一个包一个包地配置,不过太麻烦了,用全局配置比较简单。

*/

详细请见我博客文章。