maven管理本地jar包注意事项
Posted OUYM
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven管理本地jar包注意事项相关的知识,希望对你有一定的参考价值。
今天lucene中集成第三方中文分词器IKAnalyzer的时候遇到了相似的问题:lucene版本4.9、IKAnalyzer版本2012FF_hf1
直接去maven仓库下载,pom配置如下:
1 <dependency> 2 <groupId>IKAnalyzer</groupId> 3 <artifactId>IKAnalyzer</artifactId> 4 <version>2012FF_hf1</version> 5 </dependency>
发现maven仓库里没有!只能自己配置将本地jar包添加到maven
1 <dependency> 2 <groupId>org.wltea</groupId> 3 <artifactId>IKAnalyzer</artifactId> 4 <version>2012FF_hf1</version> 5 <scope>system</scope> 6 <systemPath>E:/myjars/IKAnalyzer2012FF_u1.jar</systemPath> 8 </dependency>
好了,编译通过。但是问题来了运行时报错:java.lang.NoClassDefFoundError: org/wltea/analyzer/lucene/IKAnalyzer
查了maven的依赖发现IKAnalyzer已经在里面了。
问题在这:
最后查了target/SSMDemo/WEB-INF/lib文件,没有IKAnalyzer的jar!运行时依赖jar都在这里面,没有当然会报错~
改正方法:
项目目录下降lib文件夹,将IKAnalyzer2012FF_u1.jar放进去。
修改pom文件的依赖
1 <dependency> 2 <groupId>org.wltea</groupId> 3 <artifactId>IKAnalyzer</artifactId> 4 <version>2012FF_hf1</version> 5 <scope>system</scope> 6 <systemPath>${project.basedir}/lib/IKAnalyzer2012FF_u1.jar</systemPath> 7 </dependency>
最后我们必须在maven打包的过程中加入我们这个jar包。因为项目运行的时候需要这个Jar,并且我们得拷贝在WEB-INF/lib目录下
在pom文件的<build>下的<plugins>下加入
1 <plugin> 2 <groupId>org.apache.maven.plugins</groupId> 3 <artifactId>maven-war-plugin</artifactId> 4 <configuration> 5 <webResources> 6 <resource> 7 <directory>${project.basedir}/lib</directory> 8 <targetPath>WEB-INF/lib</targetPath> 9 <filtering>false</filtering> 10 <includes> 11 <include>**/*.jar</include> 12 </includes> 13 </resource> 14 </webResources> 15 </configuration> 16 <version>2.1.1</version> 17 </plugin>
ok,完事!
以上是关于maven管理本地jar包注意事项的主要内容,如果未能解决你的问题,请参考以下文章