`
inspires
  • 浏览: 15943 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Maven-多环境打包配置

阅读更多

我的原文:Maven-多环境打包配置

     以前公司用的是Ant做编译、打包发布的工具,就这而已,Ant已经做的相当不错了,去年学习了Maven,瞬间有种相逢恨晚的感觉,Maven不止能做编译、打包、发布,而且还能有效的管理项目的依赖。工程使用Maven后,查看源代码和依赖的版本的控制变得简单,这里主要对开发完成后发版本这个问题做一研究和实践。

    工作中会有开发环境、测试环境、预发布环境、正式环境,每个阶段发到每个环境,环境不同配置也会有出入,如果手动替换配置文件效率不高,且容易出错,以前用Ant的时候是可以每个环境打不同的包便于发布,我想Maven肯定也有类似的功能,功夫不负有心人,经过网上查找一些资料和动手配置,在我的工程中成功使用了多环境管理打包的配置,废话不多说,上代码。

 

pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.jon</groupId>
    <artifactId>inspires</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>inspires Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <build>
        <finalName>inspires</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warName>inspires</warName>
                    <archive>
                        <addMavenDescriptor>false</addMavenDescriptor>
                    </archive>
                    <webResources>
                        <resource>
                            <!-- this is relative to the pom.xml directory -->
                    <!-- 下面代码很关键  {package.environment} 为profiles里面的配置 -->
                    <directory>src/main/resources-${package.environment}</directory>
                            <targetPath>WEB-INF/classes</targetPath>
                            <filtering>true</filtering>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>pro</id>
            <properties>
                <package.environment>pro</package.environment><!-- 正式环境 -->
            </properties>
        </profile>
        <profile>
            <id>dev</id>
            <properties>
                <package.environment>dev</package.environment><!-- 开发环境 -->
            </properties>
        </profile>
        <!-- 。。。测试环境 等等 -->
    </profiles>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>
    </dependencies>
</project>
分享到:
评论

相关推荐

    apache-maven-3.9.2.zip配置好的阿里云仓库文件

    10. Maven聚合与继承:Maven支持项目间的聚合和继承,聚合允许将多个项目组合在一起作为一个整体进行构建,而继承则允许共享部分POM配置,减少重复代码。 总的来说,这个预配置好的“apache-maven-3.9.2.zip”文件...

    SpringBoot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip

    首先,`maven-assembly-plugin`允许我们在构建过程中定义多个不同的组装配置(assembly),每个配置可以针对特定的环境。配置文件通常位于项目的`src/main/assembly`目录下,以XML格式编写。例如,我们可以创建一个...

    最新Maven-apache-maven-3.8.1-Repository-配置好的

    **配置Maven在Window10中的环境变量** 1. **设置JAVA_HOME**: 首先确保已安装JDK,并将`JAVA_HOME`环境变量指向JDK的安装目录,因为Maven需要Java运行环境。 2. **添加Maven到PATH**: 将Apache Maven-3.8.1的`bin`...

    apache-maven-3.9.0-bin.tar

    Maven通过读取POM.xml配置文件,自动处理构建过程,包括编译、测试、打包、部署等步骤。 "apache-maven-3.9.0-bin.tar" 是Apache Maven 3.9.0版本的Linux二进制发行版,以tar归档格式提供。这个版本包含了运行Maven...

    MAVEN-配置apache-maven-3.5.2.zip

    - Maven的profiles允许根据不同的环境或需求配置不同的构建行为,如开发、测试和生产环境的配置差异。 10. **Maven Archetypes** - Maven Archetypes是预定义的项目模板,可以帮助用户快速创建新项目,只需提供...

    apache-maven-3.5.4-bin.tar.gz

    Maven 3.5.4是Maven的一个稳定版本,包含了多项改进和修复,为开发者提供了一个高效且规范化的开发环境。 在Mac环境下安装和使用`apache-maven-3.5.4-bin.tar.gz`,首先需要下载这个压缩包。下载完成后,使用终端...

    apache-maven-3.8.4安装包

    3. 配置环境变量,包括设置`Maven_HOME`指向解压后的目录,并将`bin`子目录添加到`PATH`环境变量中。 4. 测试安装是否成功,可以通过在命令行输入`mvn -version`查看Maven的版本信息。 Maven的构建生命周期包括清理...

    apache-maven-3.8.4-bin.zip maven下载鬼慢

    在Java开发中,Maven扮演着核心角色,它通过读取项目配置文件pom.xml来管理项目的构建过程,包括编译、测试、打包、部署等生命周期阶段。pom.xml文件包含了项目的详细信息,如项目名称、描述、版本、开发者信息以及...

    maven资源 apache-maven-3.3.9-bin.zip

    在Maven中,项目的构建过程被定义为一系列的阶段,如编译、测试、打包、集成测试、部署等,这些阶段构成了Maven的生命周期。每个阶段都可以通过特定的插件来执行,例如,`maven-compiler-plugin`用于编译源代码,`...

    apache-maven-3.3.9-bin

    在Maven的生态系统中,还存在大量的插件,这些插件扩展了Maven的功能,如maven-compiler-plugin用于编译源代码,maven-surefire-plugin用于运行单元测试,maven-jar-plugin用于打包JAR文件等。通过灵活地配置这些...

    apache-maven-3.6.2-bin.tar.gz

    配置Maven环境变量是使Maven能在系统上正常工作的关键步骤。通常,需要设置两个环境变量: - `M2_HOME`:指向Maven安装目录,即解压后的`apache-maven-3.6.2`目录。 - `PATH`:添加`M2_HOME/bin`到`PATH`环境变量,...

    apache-maven-3.6.3-bin111.zip

    描述中同样提到"apache-maven-3.6.3-bin111.zip",这可能意味着该压缩包包含了Maven的完整安装包,用户可以通过解压并配置环境变量来使用Maven。 标签"maven"进一步确认了我们讨论的是与Maven相关的主题。 在...

    apache-maven-3.6.1-bin.zip

    四、配置Eclipse的Maven环境 1. Eclipse Oxygen,打开Window-&gt;Preferences-&gt;Maven-&gt;Installations,右侧点击Add。 2. 设置maven的安装目录,然后Finish 3. 选中刚刚添加的maven,并Apply。 4. 打开Window-&gt;...

    apache-maven-3.3.9

    安装Maven时,需要将`bin`目录添加到系统环境变量PATH中,然后就可以在命令行中使用`mvn`命令。`settings.xml`文件位于用户的Maven配置目录下,可以在这里配置全局属性,如镜像源、仓库位置等。 **7. Maven ...

    apache-maven-3.6.0_apache-maven-3.6.0_maven压缩包_maven3.6.0下载_

    配置Maven的`settings.xml`文件是定制化Maven行为的重要环节。这个文件位于`conf`目录下,你可以在这里指定本地仓库的路径,远程仓库的URL,以及全局的依赖管理等信息。例如,如果你有公司内部的Nexus或Artifactory...

    apache-maven-3.8.1-bin.zip

    Maven 3.8.1是该软件的最新稳定版本,包含了多项改进和修复。 在"apache-maven-3.8.1-bin.zip"这个压缩包中,您将找到Maven的可执行文件和相关资源,用于在您的计算机上安装和运行Maven。以下是一些关键知识点: 1...

    apache-maven-3.8.4-bin.zip

    在Windows上,你可以将Maven的bin目录添加到系统环境变量PATH中,以便于在任何目录下都能运行Maven命令。在Unix或Linux系统中,同样需要将bin目录路径添加到PATH环境变量。 **2. Maven的目录结构** Maven的默认项目...

    apache-maven-3.5.4-bin和apache-maven-3.3.9-bin

    - 配置Maven的环境变量,包括`M2_HOME`和`PATH`。 - 编写或修改POM.xml文件,确保所有依赖都正确声明。 - 设置Maven的本地仓库路径,避免重复下载依赖。 - 使用`mvn clean install`命令进行常规构建,`mvn ...

    apache-maven-3.9.0-bin.tar.gz

    为了使用Maven,你需要将解压后的Maven目录添加到系统的PATH环境变量中,这样就可以在任何地方使用`mvn`命令了。一旦设置完成,你可以使用`mvn help:all`命令查看所有可用的目标,或者`mvn clean install`进行基本的...

Global site tag (gtag.js) - Google Analytics