打包概念

“打包“这个词听起来比较土,比较正式的说法应该是”构建项目软件包“,具体说就是将项目中的各种文件,比如源代码、编译生成的字节码、配置文件、文档,按照规范的格式生成归档,最常见的当然就是 JAR 包和 WAR 包了,复杂点的例子是 Maven 官方下载页面的分发包,它有自定义的格式,方便用户直接解压后就在命令行使用。作为一款”打包工具“,Maven 自然有义务帮助用户创建各种各样的包,规范的 JAR 包和 WAR 包自然不再话下,略微复杂的自定义打包格式也必须支持,本文就介绍一些常用的打包案例以及相关的实现方式,除了前面提到的一些包以外,你还能看到如何生成源码包、Javadoc 包、以及从命令行可直接运行的 CLI 包。


Packaging 的含义

任何一个 Maven 项目都需要定义 POM 元素 packaging(如果不写则默认值为 jar)。顾名思义,该元素决定了项目的打包方式。实际的情形中,如果你不声明该元素,Maven 会帮你生成一个 JAR 包;如果你定义该元素的值为 war,那你会得到一个 WAR 包;如果定义其值为 POM(比如是一个父模块),那什么包都不会生成。除此之外,Maven 默认还支持一些其他的流行打包格式,例如 ejb3 和 ear。你不需要了解具体的打包细节,你所需要做的就是告诉 Maven,”我是个什么类型的项目“,这就是约定优于配置的力量。


打包 war 项目的时候排除某些 web 资源文件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <configuration>
      <webResources>
        <resource>
          <directory>src/main/webapp</directory>
          <excludes>
            <exclude>**/*.jpg</exclude>
          </excludes>
        </resource>
      </webResources>
    </configuration>
</plugin>
View Code

相关文章:

  • 2022-12-23
  • 2021-12-15
  • 2021-08-07
  • 2022-12-23
  • 2021-11-21
  • 2021-09-18
  • 2022-12-23
  • 2021-06-11
猜你喜欢
  • 2021-11-30
  • 2022-12-23
  • 2022-01-15
  • 2021-11-22
  • 2021-07-28
  • 2022-02-10
  • 2021-07-20
相关资源
相似解决方案