`

maven打包配置详解

阅读更多

用了几个月的maven了 , 其实主要的话就两方面

(1)用maven管理一些jar包,(2)构建打包项目

maven有三种生命周期,

clean,default,site

clean  就是清除项目

default 分一些package,install等

site 是站点

 

下面我们主要说的是maven的项目打包

在provider模块中主要是copy xml文件到项目中

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <targetPath>${project.build.directory}/classes</targetPath>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

 

  (1)targetpath 是指定build资源到哪个目录 默认的话是 base directory

  (2)${project,build.directory} 是构建目录

  (3)directory 是指定属性文件的目录,扫描将其放入到targetpath目录下,默认的话是        ${basedir}/src/main/resourses

  (4)includes 包含指定文件的扫描

  (5)excludes 指定文件不包含

  (6)filtering 是否将filter文件 (即里面的properties文件)的变量值在resourses中变为有效

 

 

web项目模块的pom打包配置

 <build>
        <finalName>antique-app</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <archive>
                        <addMavenDescriptor>false</addMavenDescriptor>
                    </archive>
                    <webResources>

                        <resource>
                            <directory>${common.config}/src/main/resources/${env}</directory>
                            <targetPath>WEB-INF/classes</targetPath>
                            <filtering>true</filtering>
                        </resource>
                        <resource>
                            <directory>src/main/resources/</directory>
                            <targetPath>WEB-INF/classes</targetPath>
                            <filtering>true</filtering>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>

        </plugins>
    </build>

 

 

  <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>

 

上面配置的意思就是在项目编译的时候使用jdk1.7版本

 

 

  <archive>
                        <addMavenDescriptor>false</addMavenDescriptor>
                    </archive>

 打包后不包括pom的描述文件

 

 <resource>
                            <directory>${common.config}/src/main/resources/${env}</directory>
                            <targetPath>WEB-INF/classes</targetPath>
                            <filtering>true</filtering>
                        </resource>

 

过滤资源

 

<profiles>
    <profile>
        <id>dev</id>
        <properties>
        <env>dev</env>
        </properties>
<activation>
    <activeByDefault>true</activeByDefault>
</activation>
    </profile>


    <profile>
        <id>test</id>
        <properties>
            <env>test</env>
        </properties>
    </profile>

</profiles>

    <build>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>

            <!--<plugin>
                <groupId>org.zeroturnaround</groupId>
                <artifactId>jrebel-maven-plugin</artifactId>
                <version>1.1.6</version>
                <executions>
                    <execution>
                        <id>generate-rebel-xml</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>-->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
            </plugin>
        </plugins>
    </build>

 

 

profile 可以配置多个profile 主要就是在不同的配置下打包不能的环境

分享到:
评论

相关推荐

    Maven pom 配置详解

    **Maven POM配置详解** POM(Project Object Model)是Apache Maven的核心概念,它是一个项目对象模型,用于描述一个Maven项目的所有相关信息。POM是通过XML格式编写的,并且通常命名为`pom.xml`,位于项目根目录下...

    maven配置超级详解大全

    #### 二、`settings.xml` 配置详解 `settings.xml` 文件主要用于设置Maven的一些全局配置,包括远程仓库地址、镜像服务器、代理服务器等。这里不详细展开,因为它不在给定的部分内容中。 #### 三、`pom.xml` 配置...

    maven基本命令详解

    ### Maven基本命令详解 Maven 是一款非常强大的 Java 项目构建工具,它通过一系列的预定义生命周期和插件,简化了项目的构建、依赖管理和部署等工作。本文将对 Maven 的一些常用基本命令进行详细介绍。 #### 1. ...

    maven与eclipse配置详解(含maven)

    总结来说,配置Maven到Eclipse的过程主要包括Maven的安装、环境变量配置、Eclipse中M2E插件的安装、Maven设置的配置以及创建和管理Maven项目。正确配置后,开发者可以在Eclipse这个熟悉的环境中享受到Maven带来的...

    Maven的Dependency详解

    《Maven的Dependency详解》 在软件开发过程中,依赖管理是一项关键任务,尤其是在Java领域,Maven通过其强大的依赖管理机制简化了这一过程。Maven的Dependency是项目构建中的核心概念,它允许开发者声明项目所需的...

    Maven安装及配置详解.pdf

    ### Maven安装及配置详解 #### 一、Maven概述与优势 Maven是Apache软件基金会的一个开源项目,作为一款优秀的项目构建工具,它能够帮助开发者有效地管理项目中的jar包及jar包之间的依赖关系,同时也支持项目的编译...

    maven介绍及配置详解

    ### Maven介绍及配置详解 #### 一、Maven概述 Maven是由Apache软件基金会支持的一款项目管理和理解工具,主要用于Java项目的构建与管理。Maven通过一个中心信息来管理项目的构建、报告和文档,大大简化了Java项目...

    maven3.5.4打包文件

    ** Maven 3.5.4 打包工具详解 ** Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它通过使用一种标准的项目对象模型(Project Object Model, POM),自动化构建过程,管理依赖关系,并执行各种生命周期...

    maven 一键打包

    ** Maven 一键打包详解 ** 在软件开发过程中,构建和部署是两个至关重要的环节。Maven,作为Java项目管理工具,极大地简化了这两项任务。本文将深入探讨如何利用Maven进行一键打包,以及与之相关的服务器配置和svn...

    Intellj构建和部署Maven Web项目详解

    通过上述步骤,我们不仅创建了一个Maven Web项目,还学习了如何利用IntelliJ IDEA进行项目配置、打包和部署。这对于开发基于Java的Web应用程序来说是非常重要的技能。熟悉这些操作有助于提高开发效率,同时也有助于...

    maven3.3.9个和maven配置步骤

    ** Maven 3.3.9 安装与配置详解 ** Maven 是一个强大的Java项目管理工具,它能够帮助开发者管理项目的构建、依赖关系、版本控制以及生成项目报告。Maven 3.3.9 是 Maven 的一个稳定版本,提供了许多改进和优化,...

    Maven3种打包方式中maven-assembly-plugin的使用详解

    Maven3种打包方式中maven-assembly-plugin的使用详解 Maven 作为一个流行的项目管理工具,提供了多种方式来打包项目。其中,maven-assembly-plugin 是一个非常强大和灵活的插件,支持自定义的打包结构,并且可以...

    Maven介绍安装和配置详解

    使用简单的命令行指令,如`mvn compile`、`mvn test`、`mvn package`等,Maven可以执行编译源代码、运行测试、打包应用等一系列任务。Maven的插件系统允许用户扩展其功能,满足特定的构建需求。 Maven还能生成多种...

    开发工具Maven打包跳过Test命令详解:POM配置、IntelliJ IDEA集成与最佳实践

    maven打包跳过test命令在Java项目开发过程中,Maven作为一款强大的构建工具,其与IntelliJ IDEA的深度集成大大提升了开发效率。有时,为了节省时间或避免测试失败导致的打包中断,我们可能需要在打包时跳过单元测试...

    Maven下载安装与配置详解.zip

    ** Maven下载安装与配置详解 ** Maven是一个Java项目管理和综合工具,它简化了构建、依赖管理和项目的生命周期。本文将详细介绍Maven的下载、安装以及配置过程,帮助开发者更好地理解和运用这一强大的工具。 ### ...

    maven配置步骤

    ### Maven在Eclipse中的配置详解 #### 一、Maven简介 Maven是Apache软件基金会组织下的一个开源项目,它是一种项目管理和理解工具。通过一个中心信息管理的方式,Maven可以管理项目的构建、报告和文档。Maven使用...

    Eclipse中maven的配置详解

    4. 使用Maven的生命周期命令,如`clean`清理构建产物,`install`将项目安装到本地仓库,`package`打包项目等。 通过以上步骤,你已经成功地在Eclipse中配置了Maven。Maven的配置不仅限于这些基本步骤,还可以根据...

    Maven2 来完成Struts2.0项目的打包实例

    ### Maven2 完成 Struts2.0 项目打包实例详解 #### 一、Maven与Struts2.0简介 Maven是一个项目管理和理解工具,它提供了完整的生命周期管理,帮助开发者更容易地构建和管理Java项目。Struts2是Apache基金会下的一...

    Maven-assemble打包使用案例

    本文将详细讲解如何使用Maven的`assemble`插件进行项目打包,以此来创建可分发的软件包。我们将探讨`assemble`插件的基本概念、配置以及在实际案例中的应用。 Maven是一款广泛使用的Java项目管理工具,它通过POM...

Global site tag (gtag.js) - Google Analytics