maven管理本地jar包注意事項

今天lucene中集成第三方中文分詞器IKAnalyzer的時候遇到了類似的問題:lucene版本4.九、IKAnalyzer版本2012FF_hf1java

直接去maven倉庫下載,pom配置以下:web

 
1 <dependency>
2     <groupId>IKAnalyzer</groupId>
3     <artifactId>IKAnalyzer</artifactId>
4     <version>2012FF_hf1</version>
5 </dependency>
 

發現maven倉庫裏沒有!只能本身配置將本地jar包添加到mavenapache

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/IKAnalyzermaven

查了maven的依賴發現IKAnalyzer已經在裏面了。ui

問題在這:spa

最後查了target/SSMDemo/WEB-INF/lib文件,沒有IKAnalyzer的jar!運行時依賴jar都在這裏面,沒有固然會報錯~code

改正方法:blog

項目目錄降低lib文件夾,將IKAnalyzer2012FF_u1.jar放進去。get

修改pom文件的依賴io

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

相關文章
相關標籤/搜索