Maven自动生成可运行jar包并将依赖的jar包一起打包
2016-05-17 14:48
651 查看
一、只打可执行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目录。
参考资料:
http://bglmmz.iteye.com/blog/2058914
http://blog.csdn.net/defonds/article/details/43233131
http://blog.csdn.net/xiao__gui/article/details/47341385
https://maven.apache.org/plugins/
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目录。
参考资料:
http://bglmmz.iteye.com/blog/2058914
http://blog.csdn.net/defonds/article/details/43233131
http://blog.csdn.net/xiao__gui/article/details/47341385
https://maven.apache.org/plugins/
相关文章推荐
- maven学习
- maven插件maven-war-plugin的使用
- jenkins------部署项目到jboss eap下
- maven使用经验集
- Android 中动态加载.jar的实现步骤
- java使用命令行打包JAR
- 用代码更新你的jar包
- 用Java连接sqlserver数据库时候几个jar包的区别分析
- java application maven项目打自定义zip包实例(推荐)
- 基于将Android工程做成jar包和资源文件的解决方法
- jar包双击执行程序的方法
- window下安装和配置maven环境
- 使用maven+eclipse搭建struts2开发环境
- 在eclipse导入Java的jar包的方法JDBC(图文说明)
- Java在制作jar包时引用第三方jar包的方法
- 从Java的jar文件中读取数据的方法
- Java随手笔记8之包、环境变量和访问控制及maven profile实现多环境打包
- maven利用tomcat插件部署远程Linux服务器的步骤详解
- Jar打包用法详解
- 基于Java的打包jar、war、ear包的作用与区别详解