上图是本身的工程目录结构。html
只要在父pom中,配置 module 属性后,而且在子模块的 pom 中声明 parent 属性便可。java
<parent>
<artifactId>maven-learn</artifactId>
<groupId>com.lxh.learn</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
复制代码
因为脚本文件不属于项目文件,因此并不须要将其打到 jar 包里面,此时就须要经过配置属性将其拷贝到输出目录,即jar包外面。apache
<build>
<scriptSourceDirectory>./bin/hello.sh</scriptSourceDirectory>
</build>
复制代码
maven 提供了各类各样的插件,能够方便咱们的构建工做,因此每当咱们须要将项目的构建自动化时,便可以利用maven插件属性,免去重复造轮子的麻烦。插件介绍在maven官网中有详细说明,此处介绍几个本身经常使用的特性:maven
maven.apache.org/plugins/ind…ui
此时须要用到 maven-jar-plugin 插件,这个插件专门用来打包。项目结构如图:搜索引擎
若是我不想把 exclude 目录中的类打到jar包中,则可使用以下配置方式:spa
咱们在使用 java -jar 命令执行 jar 包时,有时候会遇到错误提示:没有指定主清单属性。插件
这是为何呢?code
原来在每一个打好的 jar 包中,都有一个叫 MANIFEST.MF 的文件。这个文件有什么用处呢?orm
主要是指定了一些与 jar 包相关的属性,如图所示:
怎么指定?仍是经过对一个插件的配置来实现。
此插件提供了不少的 transforme,其中的一个ManifestResourceTransformer 用来操做 MANIFEST.MF ,并在文件中添加 entry 。
其余 transformer 介绍能够参考官网文档。
了解一门技术,之前喜欢用搜索引擎,如今愈来愈以为仍是官网的第一手资料最靠谱,比搜索引擎更有效率。