maven打包踩的坑--打包时将pom依赖包加入进来

步子迈的有点大, 结果基础不牢

 

之前ik分词器打包直接使用run as -> maven install 方式,到maven仓的对应位置生成的jar直接应用, 一直没有问题

今天ik分词器新增了pinyin过滤器, 结果打包没有异常, solr的控制台在分词时会报异常class not define... , 因为之前ik分词器依赖的lucene包都在solr环境中存在

 

所以需要maven打包成第三方jar包且把pom依赖包打入进来,方法如下:  

1.pom文件添加

 

<plugin>  
                    <artifactId>maven-assembly-plugin</artifactId>  
                    <configuration>  
                        <archive>  
                            <manifest>  
                                <mainClass>com.allen.capturewebdata.Main</mainClass>  
                            </manifest>  
                        </archive>  
                        <descriptorRefs>  
                            <descriptorRef>jar-with-dependencies</descriptorRef>  
                        </descriptorRefs>  
                    </configuration>  
                </plugin> 

或者

<build>
        <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.4.1</version>
            <configuration> <!-- get all project dependencies -->
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs> <!-- MainClass in mainfest make a executable jar -->
                <archive>
                    <manifest>
                        <mainClass>util.Microseer</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id> <!-- bind to the packaging phase -->
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        </plugins>

    </build>

 

 

2. run as -> maven build ...  添加命令 clean assembly:assembly(注意这里没有mvn , 因为eclipse插件已经自动添加)

3. 执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS(注意该jar包不在maven仓下)

 

 

posted @ 2018-01-23 17:39  車輪の唄  阅读(48)  评论(0)    收藏  举报  来源