maven工程打包方式介绍

阿里云maven仓库:https://developer.aliyun.com/mvn/guide

maven打包:jar,war,pom
jar:默认的打包方式,打包成jar用作jar包使用。例如hsweb-commons,它就是存放一些其他工程都会使用的类,工具类。我们可以在其他工程的pom文件中去引用它
war:将会打包成war,发布在服务器上,如网站或服务。用户可以通过浏览器直接访问,或者是通过发布服务被别的工程调用
pom:用在父级工程或聚合工程中,用来做jar包的版本控制,必须指明这个聚合工程的打包方式为pom,例如hsweb-framework,创建8个model分别为

    <groupId>org.hswebframework.web</groupId>
    <artifactId>hsweb-framework</artifactId>
    <version>4.0.12-SNAPSHOT</version>
    <modules>
        <module>hsweb-starter</module>
        <module>hsweb-core</module>
        <module>hsweb-authorization</module>
        <module>hsweb-system</module>
        <module>hsweb-datasource</module>
        <module>hsweb-commons</module>
        <module>hsweb-logging</module>
        <module>hsweb-concurrent</module>
    </modules>

    <packaging>pom</packaging>

同时会自动生成8个独立的maven工程。聚合工程只是用来帮助其他模块构建的工具,本身并没有实质的内容。具体每个工程代码的编写还是在生成的工程中去写。

使用聚合工程hsweb-framework的意义就是:
原本这些模块也是一个个独立的工程,现在将它们聚合到hsweb-framework中,这样我们构建项目的时候就只要构建hsweb-framework一个就行了。我们只要使用maven构建这个聚合工程就行了而不用去操心模块的构建,比如install时只要install hsweb-framework就行。总之就是简化操作。正常的编码工作还是在对应的maven工程中进行的。

原文地址:https://www.cnblogs.com/InternetJava/p/15731292.html