打包篇插图

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

声明:1、本内容转载于网络,版权归原作者所有!2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!