尝试EJB整合Mybatis部署时报错:获得带有类加载器MybatisUtil的ModuleClassLoader的反射信息出错,请问大神如何解决

mybatis的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/MessageSystem" />
                <property name="username" value="root" />
                <property name="password" value="toor" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="MS/mybatis/mapper/User.xml" />     
    </mappers>
</configuration>

SqlSessionFactory的构造

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package MS.mybatis;
 
import java.io.IOException;
import java.io.Reader;
 
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
 
 
public abstract class MybatisUtil {
     
    private static SqlSessionFactory sqlSessionFactory=null;
     
    static
    {
        try {
            String resource = "mybatis-config.xml";
            Reader reader = Resources.getResourceAsReader(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }      
    }
     
    public static SqlSessionFactory getSqlSessionFactory()
    {
        return sqlSessionFactory;
    }
     
    public static SqlSession getSqlSession()
    {
        return sqlSessionFactory.openSession();
    }
}

 报错信息如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
20:53:05,537 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC0000
01: Failed to start service jboss.deployment.unit."MessageSystem.jar".POST_MODUL
E: org.jboss.msc.service.StartException in service jboss.deployment.unit."Messag
eSystem.jar".POST_MODULE: JBAS018733: 处理 POST_MODULE 的 deployment "MessageSys
tem.jar" 阶段失败
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(Deplo
ymentUnitPhaseService.java:127) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0
.Final-redhat-14]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(Se
rviceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-
1]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceCont
rollerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886) [rt.jar:1.6.0_26]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908) [rt.jar:1.6.0_26]
        at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_26]
Caused by: java.lang.RuntimeException: JBAS018757: 获得带有类加载器 class MS.myb
atis.MybatisUtil 的 ModuleClassLoader for Module "deployment.MessageSystem.jar:m
ain" from Service Module Loader 的反射信息出错
        at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getC
lassIndex(DeploymentReflectionIndex.java:72) [jboss-as-server-7.3.0.Final-redhat
-14.jar:7.3.0.Final-redhat-14]
        at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotation
Information(MethodAnnotationAggregator.java:58)
        at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.ha
ndleAnnotations(InterceptorAnnotationProcessor.java:107)
        at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.pr
ocessComponentConfig(InterceptorAnnotationProcessor.java:92)
        at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.de
ploy(InterceptorAnnotationProcessor.java:77)
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(Deplo
ymentUnitPhaseService.java:120) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0
.Final-redhat-14]
        ... 5 more
Caused by: java.lang.NoClassDefFoundError: Lorg/apache/ibatis/session/SqlSession
Factory;
        at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.6.0_26]
        at java.lang.Class.privateGetDeclaredFields(Class.java:2291) [rt.jar:1.6
.0_26]
        at java.lang.Class.getDeclaredFields(Class.java:1743) [rt.jar:1.6.0_26]
        at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(Cl
assReflectionIndex.java:57) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Fin
al-redhat-14]
        at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getC
lassIndex(DeploymentReflectionIndex.java:68) [jboss-as-server-7.3.0.Final-redhat
-14.jar:7.3.0.Final-redhat-14]
        ... 10 more
Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSessio
nFactory from [Module "deployment.MessageSystem.jar:main" from Service Module Lo
ader]
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:
197) [jboss-modules.jar:1.3.0.Final-redhat-2]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(Con
currentClassLoader.java:443) [jboss-modules.jar:1.3.0.Final-redhat-2]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(Concu
rrentClassLoader.java:431) [jboss-modules.jar:1.3.0.Final-redhat-2]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(Concu
rrentClassLoader.java:398) [jboss-modules.jar:1.3.0.Final-redhat-2]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentCl
assLoader.java:373) [jboss-modules.jar:1.3.0.Final-redhat-2]
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoad
er.java:118) [jboss-modules.jar:1.3.0.Final-redhat-2]
        ... 15 more

 

posted @   Scott Lewis  阅读(1177)  评论(3编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示