最近在项目中使用到aop。aop是通过引用另外一个jar来实现的,这个jar在本地生成,然后放到了项目的 root/lib/文件夹下边,通过idea自带的add as library添加到项目中,到这一步都是正常的,但是项目运行起来之后,aop并没有生效!通过检查发现项目通过tomcat启动后,引进来的jar包并没有加入到classess/lib目录下。
使用如下这种方法,也没有正常的引用到aop。
<dependency>
<groupId>com.tal</groupId>
<artifactId>monitor-aop</artifactId>
<scope>system</scope>
<systemPath>${project.basedir}/lib/monitor-aop-0.0.1.jar</systemPath>
</dependency>
这个原因可能是因为maven项目是通过读取本地的maven仓库加载依赖的,而引入的本地jar包并没有方法本地仓库之中,所以没有生效。因此通过命令将jar包加入到仓库之后,项目可以正常启动。
将本地jar包加入到maven仓库的命令:
mvn install:install-file -Dfile=D://xxx.jar -DgroupId=com.tal -DartifactId=test-demo -Dversion=0.0.1 -Dpackaging=jar
然后再maven中引入即可
<dependency>
<groupId>com.tal</groupId>
<artifactId>monitor-aop</artifactId>
<version>0.0.1</version>
</dependency>