最近在弄shiro,把shiro单独提出来,弄成一个子项目,这样可以降低项目的冗余,但是把shiro打成jar包后,另一个项目添加其依赖后,在IDE项目中正常的运行,打成jar包后运行,则不断的报错
如图:
org.apache.shiro.realm.Realm
错误提示没有这个域,猜测了好久,最后想到可能是没有自动注入shiro的bean配置,于是把shiro的配置复制到另一个项目,再打包,神奇的事情发生了,报了下面这个错
找不到类,明明加了shiro的依赖啊,最后发现,是其打包时,打包的shirojar里多了一个目录BOOT-INF
原先的pom文件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
修改后的pom文件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
这样再打shiro工程,完美解决了多了一个BOOT-INF文件夹的尴尬问题。