men包
说到Men项目的启动,有句老话:
良好的开始是成功的一半,有开始就有结束.
本文将讨论mvn包。Men项目的终结。尤其是非web项目。通常,您需要将编译好的。Ja的类文件到一个可执行的jar包中,然后通过Ja命令启动它,比如:ja-jarxxx.jar。
可执行的jar包必须首先满足以下条件:
主类启动条目类信息必须在/META-INF/MANIFEST中指定。jar包中的MF元数据文件。
所有正在运行的依赖项都必须包含在类路径中。也就是说,依赖项必须全部在。类路径下的MF文件。
Men 原理篇
如何使用mvn包构建预定义的部署包结构需要了解Men中构建生命周期、阶段和插件之间的关系:
构建生命周期由多个阶段组成
构建阶段由插件目标组成
Men将项目的构建过程分为不同的生命周期。Men有三个内置的生命周期:默认(构建)构造、干净的清理以及文档和站点的站点生成。这三个生命周期是相互独立的,它们之间没有必然的联系。阶段是生命周期的基础,在同一个生命周期中,阶段有明确的顺序要求。Men的生命周期和阶段是抽象概念,不涉及具体功能,插件负责功能的实现。Goal是Men中最小的任务单元。一个插件可以实现多个目标),目标可以绑定到多个阶段,每个阶段也可以包含多个目标。我们也可以把阶段看作是目标的容器。
执行mvn打包时。依次执行验证、编译、测试、打包四个阶段,然后在阶段上触发目标。你可能会困惑,我没有配置任何插件。它将执行什么?默认!
Package 实战
你可以参考mvner,创建一个Ja (pom)项目作为这个项目的练习。
现在您需要将上面的项目打包到一个可执行的Jar中。
可执行jar可以分为三类:
Simple Jar
只使用JDK本身提供的能力,没有其他依赖。
使用插件:
插件配置:
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需99元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666
在这个例子中,men-jar-plugin恰到好处地处理了简单的jar。
Uber Jar
优步这个词来自德语ber。大致思路可以理解为以上或以上。社区还将其昵称为Fat Jar,指的是包含所有运行依赖项的可执行Jar包。
使用插件:
(注:待在凉快的地方!)
在上面的例子中,我们将:
system . out . println(new Date());改成用Joda的Datetime,别忘了在项目中添加依赖项!
system . out . println(datetime . now());现在这个项目有了一个依赖包Joda-time。
joda-time
我们如何使用men-jar-plugin进行打包?由于缺少依赖的joda-time,构建的jar不能直接ja -jar XX.jar。
插件配置:
执行
让我们再来看看包装好的罐子:
还有一种通过装配插件:
也可以完成,不过有一种“杀鸡何用宰牛刀的感觉”。为啥?(往下看)还有一种通过组装插件来完成的方式:
,但是有种“杀鸡不杀牛刀”的感觉。为什么?(向下看)
men汇编插件
配置方法如下:
Deploy Jar
高平台上的封装方式是封装后直接压缩,解压缩后的结构如下:
我们来看看pom配置:
梅文-加尔
使用men-jar-plugin构建jar。
构建的jar不包括相应的配置文件。
指定类路径的路径在../lib/
指定清单条目路径../conf/
到目前为止,打包好的jar还不能运行。因为没有配置lib/ conf/
让我们先处理conf:
men资源插件
使用插件men-resources-plugin将src/main/resources中的配置文件复制到target/conf。
然后指定程序集描述文件:
程序集描述zip.xml
指定压缩格式
指主jar也输出到bin文件夹。
将men-resources-plugin副本的conf文件夹复制到同名文件夹。
依赖包被导出到lib文件,主jar被排除在外。
最后剩下的工作:
src/scripts
编写脚本:
写个windows(服务器都是linux,你写个Windows?),没错,这是练习用的,看你能不能跟得上这篇文章mvn包的内容。
请注意!
关注“教授学院”,期待带给你快乐的开发知识!
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需99元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666