前言
最近在做一个功能,关于权限管理的,有两个项目同时需要这个功能,而且权限管理相对于项目分离度较高,所有为了节省代码将两个项目的权限使用同一套规则,准备写一个jar用于两个项目同时依赖,里面包含了@Configuration 、@Mapper、@Service等组件
有兴趣的小伙伴可以去看一看 git: https://gitee.com/scriptcode/spring-security-token.git
spring boot 项目打出jar并保存到maven本地仓库
1:权限模块 POM
<groupId>cn.exp</groupId>
<artifactId>spirngsucrity</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
....
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source> <!--指明源码用的Jdk版本-->
<target>1.8</target> <!--指明打包后的Jdk版本-->
</configuration>
</plugin>
</plugins>
</build>
2:确保你的项目在本地启动没有问题
3:去除启动类和测试类
4: 使用 idea右侧 maven选项 clear install 打包并发布依赖到本地仓库
5:要使用的项目引用刚刚打入本地仓库的依赖
<dependency>
<groupId>cn.exp</groupId>
<artifactId>spirngsucrity</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
6: 启动类使用注解
@MapperScan(basePackages ={“com.tx.management.mapper”,“com.tx.rbac.repository”})
@SpringBootApplication(scanBasePackages = {“com.tx.management”,“com.tx.rbac”})
注意:该自己项目路径必须和jar包中的路径一样 至少保证前置一样 否则无法扫描 无法注入bean到spring
YML :
mybatis:
mapperLocations: classpath:mapper/.xml,classpath:mapper2/.xml