Maven自动生成可运行jar包并将依赖的jar包一起打包

来源:互联网 发布:windows7旗舰版优化 编辑:程序博客网 时间:2024/04/18 12:07
一、只打可执行jar包
    1) 配置pom.xml文件:
    pom.xml增加如下代码:
    <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-jar-plugin</artifactId>  
            <version>2.4</version>  
            <configuration>  
                <archive>  
                    <manifest>  
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>org.mybatis.generator.api.ShellRunner</mainClass>  
                    </manifest>  
                </archive>
                <includes>
                       <include>**/org/**</include>
               </includes>  
            </configuration>
    </plugin>
    
    其中,<addClasspath>表示是否需要在产生的jar包中MANIFEST.MF文件中加入依赖的jar包路径。
    <classpathPrefix>表示依赖的jar包路径连接。如上方为“lib/“,则打包和文件中展示如下图:
    
    <mainClass>表示可执行jar包运行的主类。
    <includes>配置的是需要打包的数据。
    <excludes>配置的是需要打包过滤掉的数据。
    
    2)配置完成后,执行打包命令进行打包:
    mvn clean package
    也可以进行如下配置,进行运行:
    在项目名上右键,依次点击 Run As -> Maven build... 如下图:
    弹出如下界面:



    在图中Name处填上一个自己记得住的名字,如 “mybatis-generator_package”,并在Goals中填入如下内容:“clean package”然后点击“Apply”按钮。 



    3)运行:
    点击“Run As...”按钮,然后点击刚才配置好的Maven Build程序,如下图:


    程序运行完成如果成功,会出现如下内容“BUILD SUCCESS”,如下图:

    打包好的jar文件存在于项目目录下的target目录下:
    


    如果需要修改jar包命名,可以修改pom.xml中的参数:
    
    <artifactId>和<version>决定了项目打包后的jar包名称。

    
二、将依赖的jar包一起打包
    1)增加pom.xml配置文件内容,引入maven-dependency-plugin插件:
    <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-dependency-plugin</artifactId>  
            <version>2.10</version>  
            <executions>  
                <execution>  
                    <id>copy-dependencies</id>  
                    <phase>package</phase>  
                    <goals>  
                        <goal>copy-dependencies</goal>  
                    </goals>  
                    <configuration>  
                        <outputDirectory>${project.build.directory}/lib</outputDirectory>  
                    </configuration>  
                </execution>  
            </executions>  
        </plugin> 
参数解释:
    <outputDirectory>配置的为依赖jar包输出路径,${project.build.directory}/lib” 表示输出到target目录下的lib目录中。
    2)运行同打jar命令一样的程序即可打出jar包及依赖的jar到lib目录下。
    




常见错误:
    1.由于使用的命令式“mvn clean package“,如果打开了产生jar包的target目录,再次运行打包程序时会出现如下错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project mybatis-generator: Failed to clean project: Failed to delete D:\git\mybatis-generator\target -> [Help 1]

    解决方案:
        关闭打开的target目录。



参考资料:
  1. http://bglmmz.iteye.com/blog/2058914 
  2. http://blog.csdn.net/defonds/article/details/43233131 
  3. http://blog.csdn.net/xiao__gui/article/details/47341385
  4. https://maven.apache.org/plugins/



0 0
原创粉丝点击