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,完事!

 
原文地址:https://www.cnblogs.com/ouym/p/6121238.html