maven-Maven 教程(插件教程)

maven-Maven 教程(插件教程)

1. maven-compiler-plugin的用法 Maven 教程(21)— maven-compiler-plugin 插件详解 一句话总结: org.apache.maven.plugins声明代码编译的jdk版本。 用法: org.apache.maven.pluginsmaven-compiler-plugin3.11.81.8UTF-8 2. maven的继承和聚合 maven-id...

1. maven-compiler-plugin的用法

Maven 教程(21)— maven-compiler-plugin 插件详解

一句话总结: org.apache.maven.plugins声明代码编译的jdk版本。

用法:

        org.apache.maven.pluginsmaven-compiler-plugin3.11.81.8UTF-8

2. maven的继承和聚合

maven-idea构建多模块项目-maven的聚合和继承

Maven 教程(14)— Maven聚合与继承

一句话总结:父模块单方面聚合子模块;子模块单方面继承父模块。


3. maven的assembly的用法

Maven 教程(20)— 使用maven-assembly-plugin插件来定制化打包

Maven教程——用maven assembly插件打jar包实现依赖包归档

Maven教程——官网定义的maven assembly插件

URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)异常解决方法

当使用Maven对项目打包时,需要了解以下3个打包的plugin。

plugin function
maven-jar-plugin maven默认的打包插件,用于创建project jar
maven-shade-plugin 用于打可执行包,executable(fat)jar
maven-assembly-plugin 支持定制化打包方式

如果项目使用maven构建,当项目上线,部署到服务器上去的时候可能会碰见这样的问题。问题是服务器上没有maven环境,也就是说,项目所依赖的那些仓库(repository)中的jar包需要单独提取出来上传到服务器中去

而maven的assembly插件,就可以将一个项目依赖的元素、模块、网站文档等其他文件存放到单个归档文件中。

3.1 使用官网定制的打包方式

         org.apache.maven.pluginsmaven-assembly-plugin2.4.1jar-with-dependenciesmake-jarpackagesingle
打包结果

上面使用(官方提供的打包方式)。

  • bin
  • jar-with-dependencies
  • src
  • project

但是不建议使用。

3.2 使用自定义的打包方式

使用descriptors,指定打包文件src/assembly/src.xml,在配置文件内指定打包操作。

        org.apache.maven.pluginsmaven-assembly-plugin2.4.1src/main/assembly/distribution.xmlmake-zippackagesingle

3.2.2 描述符文件元素

1. id
标识符,添加到生成文件名称的后缀,如果指定id的话,目标文件则是${artifactId}-${id}.tar.gz

2. formats
maven-assembly-plugin支持的打包格式:zip、tar、tar.gz(tgz)、tar.bz2(tbz2)、jar、dir、war,可同时指定多个打包方式。

tar.gzdir

3. dependencySets

用于定制工程依赖jar包的打包方式

核心元素:

元素 类型 作用
outputDirectory String 指定包依赖目录,该目录是相对于根目录
includes/include* List 包含依赖
excludes/exclude* List 排除依赖

4. fileSets

管理一组文件的存放位置。

核心元素:

元素 类型 作用
outputDirectory String 指定文件集合的输出位置,该位置相对于根目录
includes/include* List 包含文件
excludes/exclude* List 排除文件
fileMode String 指定文件的属性,使用八进制表示,分别是(User)(Group)(Other)所属属性,默认是0644
directory String 选定的目录
/configsrc/main/resources**/spring/application.xml

注:【**代表通配符,目录下所有文件】

4. files

可以指定目的文件名到指定路径。其他和fileSets相同

核心元素如下:

元素 类型 作用
source String 源文件,相对路径或绝对路径
outputDirectory String 输出目录
destName String 目标文件名
fileMode String 设置文件UNIX属性
    src/main/resources/spring/application.xml/config/springfalse

源代码

distributionzip/lib/configsrc/main/resources**/spring/application.xmlsrc/main/resources/spring/application.xml/config/springfalse

4. maven-dependency-plugin插件的使用

Maven学习笔记(十三)-maven-dependency-plugin插件

maven-dependency-plugin是处理与依赖相关的插件,他有很多可用的goal,大部分是和依赖构建、分写和解决相关的goal,这部分goal可以直接用maven命令操作。例如mvn dependency:treemvn denpency:analyze,但是我们最常用到的命令就是dependency:copydependency:copy-dependencies
dependency:unpackdependency:unpack-dependencies这四个。

4.1 使用

1. 插件声明:

        org.apache.maven.pluginsmaven-dependency-plugin2.8

2. dependency:copy和copy-dependencies

  • 将一系列在此插件内列出的artifacts,将他们copy到一个特殊的地方,重命名或者去除其版本信息。可以解决远程仓库存在但是本地仓库不存在的依赖问题,copy操作可以用来将某个(些)maven artifact(s)拷贝到某个目录下。

  • copy-dependencies和copy有点类似,只不过copy-dependencies用来拷贝当前工程所有的依赖包的。

          org.apache.maven.pluginsmaven-dependency-plugin2.8packagecopy-dependencies${project.build.directory}/lib
copy-dependencies执行结果

推荐阅读
maven其他组件教程

maven配置多个.properties文件

文章来源于互联网:maven-Maven 教程(插件教程)

0

评论0

鱼翔浅底,鹰击长空,驼走大漠
没有账号? 注册  忘记密码?