mybatis配置文件中的Alias扫描包配额配置如下
<typeAliases>
<package name="com.gs.AModule.entity"/>
<package name="com.gs.BModule.entity"/>
</typeAliases>
A和B两个module包结构一样,A的entity中有@Alias(“AProjectReview”)AProjectReview.java,在B的mapper.xml中使用type=“AProjectReview”的时候项目编译通过,运行报错提示找不到AProjectReview该类
将AProjectReview.java copy到B包之后能正常。
请问如何在不拷贝的情况下解决该问题?
spring-mybatis.xml的配置:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSources"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<property name="mapperLocations">
<array>
<value>classpath:com/gs/A/dao/**/*.xml</value>
<value>classpath:com/gs/B/dao/**/*.xml</value>
</array>
</property>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.gs.A.dao,com.gs.B.dao"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
本地之外的,jar包中的,需要用classpath*
从你的评论中我理解:B依赖了A中的内容,但是A的打包形式是war。
有两种方式: