`
qindongliang1922
  • 浏览: 2183896 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117534
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125921
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59907
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71301
社区版块
存档分类
最新评论

Maven如何配置不同的环境文件

    博客分类:
  • JAVA
阅读更多
现在大公司的项目一般都会采取maven管理,因为大公司往往有多套环境配置,原来在的公司5套环境:
(1)开发
(2)测试
(3)沙箱
(4)灰度
(5)线上
当然这只是理论上的,搞这么多环境的目的只有一个,就是尽量防止或减少在生产环境出问题,所以往往你的项目或代码都要在每一套环境上
跑一遍确定是没有问题的。

小公司一般都有3套环境,开发,测试,线上,不同的环境我们的一些链接资源可能是不一样的,比如说,数据库的地址,某些集群的地址,比如ElasticSearch,Solr,Hadoop,Hbase,Zookeeper等 等,不同的环境的参数是不一样的,如果我们只有一个配置文件,那可能需要改来改去,而且还可能会出问题,maven提供了标准的目录配置,我们可以在src/main/filters下,放入我们的所有环境的配置,当然要约定一个暗号,通常是xxxx-dev{product,test}.properties等等,这里我们模拟3套环境做个demo:



上面的配置文件准备好后,我们还需要在pom文件里面,加入filter和profile配置:
   <build>
        <!--指定下面的目录为资源文件-->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
            <!--设置自动替换-->
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>index-config.properties</include>
                </includes>
                <!--也可以用排除标签-->
                <!--<excludes></excludes>-->
                <!--开启过滤-->
                <filtering>true</filtering>
            </resource>
        </resources>
 
 </build>

最后在加入
<profiles>
        <!--默认激活开发配置,使用index-dev.properties来替换实际的文件key-->
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <filters>
                    <filter>src/main/filters/index-dev.properties</filter>
                </filters>
            </build>
        </profile>
        <!-- 测试环境配置 -->
        <profile>
            <id>test</id>
            <build>
                <filters>
                    <filter>src/main/filters/index-test.properties</filter>
                </filters>
            </build>
        </profile>
        <!-- 生产环境配置 -->
        <profile>
            <id>product</id>
            <build>
                <filters>
                    <filter>src/main/filters/index-product.properties</filter>
                </filters>
            </build>
        </profile>
    </profiles>


在实际打包的时候,可以指定以哪个环境的配置文件编译打包,例如:
以开发环境打包:mvn clean package -Pdev
以测试环境打包:mvn clean package -Ptest
以生产环境打包:mvn clean package -Pproduct

如何将maven项目依赖外部的jar打成一个单独的jar包呢?,非常简单,在pom文件中加入下面的一段代码:

  <build> 
        <plugins> 
            <plugin> 
                <groupId>org.apache.maven.plugins</groupId> 
                <artifactId>maven-compiler-plugin</artifactId> 
                <version>2.3.2</version> 
                <configuration> 
                    <source>1.7</source> 
                    <target>1.7</target> 
                </configuration> 
            </plugin> 
            <plugin> 
                <artifactId>maven-assembly-plugin</artifactId> 
                <configuration> 
                    <archive> 
                        <manifest> 
                            <addClasspath>true</addClasspath> 
                            <mainClass>换成自己的主类</mainClass> 
                        </manifest> 
                    </archive> 
                    <descriptorRefs> 
                        <descriptorRef>jar-with-dependencies</descriptorRef> 
                    </descriptorRefs> 
                </configuration> 
                <executions> 
                    <execution> 
                        <id>make-my-jar-with-dependencies</id> 
                        <phase>package</phase> 
                        <goals> 
                            <goal>single</goal> 
                        </goals> 
                    </execution> 
                </executions> 
            </plugin>             
        </plugins> 
    </build>






  • 大小: 45.5 KB
2
1
分享到:
评论

相关推荐

    Maven配置文件Maven配置文件

    Maven是Java开发中的一款项目管理和综合工具,它通过一个中心化的配置文件——`settings.xml`,帮助开发者管理构建过程、依赖库以及项目属性。本文将深入探讨`settings.xml`文件的作用、结构及其重要配置选项。 ###...

    maven profile多环境配置

    Maven Profile 多环境配置 Maven 是一个流行的项目管理工具,广泛应用于 JAVA 相关的项目中。...这样,在构建过程中,Maven 会加载 `src/main/resources/pro` 目录下的配置文件,实现了不同环境加载不同配置的目的。

    maven多环境部署pom文件实例

    2. **文件夹方式**:创建不同环境的配置文件夹,如`src/main/resources-dev`、`src/main/resources-test`和`src/main/resources-prod`,并使用Maven资源过滤(Resource Filtering)来选择合适的资源文件。...

    SpringBoot项目使用maven配置文件

    SpringBoot项目使用maven配置文件是Java后端开发中的常见实践,它可以帮助开发者高效地管理依赖、构建项目以及执行自动化任务。Maven是Apache软件基金会的一个项目,它提供了一个项目对象模型(Project Object Model...

    springboot实现maven打包加载不同环境的方式二

    当前案例中包含一整套的代码和word文档,非常适合新手... 主要是通过maven打包加载不同环境的properties文件 然后将对于的属性绑定到指定的实体对象中;然后通过调用接口可以看到加载不同环境控制台打印的内容是不一样的

    maven离线安装包(含环境配置文件)

    总结,这个"Maven离线安装包(含环境配置文件)"提供了一种便捷的方式,使得开发者即使在无网络环境下也能搭建和使用Maven环境。它简化了Maven的安装过程,同时方便了Eclipse用户的集成工作,提高了开发效率。无论你...

    配置好的maven 3.6.3配置文件以及环境变量设置教程

    在IDE中设置Maven环境变量,可以确保项目使用的是我们刚刚配置好的本地Maven实例。以下是配置步骤: 1. 打开IntelliJ IDEA,进入`File` &gt; `Settings`(Windows/Linux)或`IntelliJ IDEA` &gt; `Preferences`(Mac)。 ...

    maven 配置文件 配置阿里云链接

    这篇内容将详细介绍如何在Maven的配置文件中配置阿里云链接,以优化依赖下载速度。 首先,我们需要了解Maven的配置文件——`settings.xml`。这个文件通常位于用户的`.maven`目录下的`conf`子目录,或者在IDE如...

    Java Maven快速配置必备文件.zip

    Java Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过定义项目的构建过程、依赖管理和项目信息,使得....m2.zip文件的备份则提供了对个人Maven环境的快速恢复能力,简化了开发环境的迁移过程。

    Maven的ssm项目配置文件

    - 使用Profile:Maven支持多环境配置,通过Profile可以在开发、测试和生产环境中切换不同的配置。 - 注释和文档:为每个配置项添加注释,解释其用途,方便团队成员理解和维护。 在实际开发中,SSM项目的配置文件...

    Maven 3.6.3文件 setting文件已替换华为云maven镜像

    同时,`apache-maven-3.6.3`这个压缩包包含了完整的Maven 3.6.3发行版,其中包括了Maven的可执行文件、配置文件(如`settings.xml`)、库文件和其他支持文件。解压后,你可以通过修改`conf/settings.xml`文件来配置...

    maven 配置注意事项

    本篇文章将详细讲解在配置Maven时需要注意的一些关键点,确保你的开发环境能够顺利运行。 首先,要安装Maven。通常,你需要从Apache官方网站下载最新版本的Maven,并按照安装指南进行安装。在MyEclipse开发环境中,...

    maven搭建,包括环境配置

    测试Maven环境 - 打开命令提示符窗口(使用 Win+R 快捷键,输入 cmd 并回车)。 - 输入 `mvn -v`,如果正确配置了环境变量,将会显示 Maven 的版本信息。 #### 三、Maven与Eclipse集成 为了更好地利用 Maven 来...

    Maven环境配置

    Maven环境配置 Maven环境配置是指在使用Maven之前需要进行的一系列准备和配置工作,包括环境准备、配置Maven环境变量、修改仓库位置、创建Maven项目等。下面是对Maven环境配置的详细说明: 一、环境准备 在使用...

    Win10 环境下Apache Maven的配置文件以及教程

    总结,Win10环境下配置Apache Maven需要安装Maven、设置环境变量、编辑`settings.xml`文件,理解Maven的生命周期和依赖管理,以及如何使用插件。通过正确配置和使用,Maven能极大地提升Java项目的开发效率。记得定期...

    maven配置文件和仓库

    `profiles`元素则允许用户定义不同的构建环境,比如不同的JDK版本或服务器配置。 接下来是`pom.xml`文件,它是Maven项目的灵魂,包含了项目的基本信息(如项目名称、版本、描述等)、依赖管理、构建配置等。POM文件...

    maven配置.zip

    通过在settings.xml文件中配置mirrors和profiles,可以定制Maven的行为,如镜像设置用于加速依赖下载,profile用于不同环境下的配置切换。 6. Maven的全局配置: Maven的全局配置文件settings.xml位于Maven安装...

    maven配置操作文档

    2. 在Maven配置页面,设置Maven的全局配置文件`settings.xml`。这个文件通常位于`%M2_HOME%\conf`目录下,包含了Maven仓库的配置信息。 3. 更新配置信息,确保Eclipse使用的是正确的Maven版本和镜像库设置,以提高...

Global site tag (gtag.js) - Google Analytics