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