`
grantbb
  • 浏览: 271901 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在Spring STS中使用Maven对不同的部署环境打包

阅读更多

 

Spring STS 默认集成了对 Maven 的支持,采用 Maven 管理依赖非常方便。

 

采用 STS 新建一个 Spring MVC 的项目,默认的目录结构如图:

然后可以通过项目名称上点击右键, run 来执行 Maven 相关的命令:

比如,执行 package maven 就自动把项目编译,跑一下单元测试,然后文件打包成 war 包。这是因为项目的结构都是采用的约定的方式进行的。直接查看 pom.xml 是看不到相关配置的。

 

现在的问题是,我们平时开发一般是在本机,提交 QA 测试会在测试环境,产品发布会在产品的正式部署环境。如何支持这样的打包方式?我们还是可以通过修改 pom.xml 来实现。

 

默认的 src/test/resources 我们可以放置一些各个环境都一致的配置文件。

然后新建: src/test/resources-dev , src/test/resources-product src/test/resources-qa ,分别对应开发 / 产品 / 测试环境。

 

接下来在 pom.xml 中增加 <properties> 的配置(配置 product 为默认的环境的打包)

<properties>

        … ...

       <package.environment>product</package.environment>

</properties>

 

然后在 properties 下面增加 profiles 的配置:

 

<profiles>

     <profile>

           <id>product</id>

           <properties>

                 <package.environment>product</package.environment>

           </properties>

       </profile>

        <profile>

           <id>dev</id>

            <properties>

                   <package.environment>dev</package.environment>

             </properties>

           </profile>

        <profile>

            <id>qa</id>

             <properties>

                  <package.environment>qa</package.environment>

             </properties>

          </profile>

</profiles>
 

最后修改maven-war-plugin的配置:

 

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-war-plugin</artifactId>

<configuration>

<warName>tiles</warName>

<archive>

<addMavenDescriptor>false</addMavenDescriptor>

</archive>

<webResources>

                        <resource>

                            <!-- this is relative to the pom.xml directory -->

                            <directory>src/main/resources-${package.environment}</directory>

                            <targetPath>WEB-INF/classes</targetPath>

                            <filtering>true</filtering>

                        </resource>

                    </webResources>

</configuration>

</plugin>
 

注意一个参数<filtering>true</filtering>,一定要设置成true这样才会用对应environment目录下的配置文件覆盖原来的。

现在需要运行打包命令, Run as -> Maven package

这样就会采用默认的 Product 的环境配置进行打包。

如果需要为测试环境的 qa 打包,点击: Run As -> Run Configurations

配置 Go als: clean package

Profiles:  qa

然后就可以点击“ Run ”,这样就会成功为 qa 环境打好包。打好包的文件在 target 目录下面。

 

另外,本地开发的时候只需要把 resources-dev 目录加入到 Source 中就可以了。具体参考下图:

3
0
分享到:
评论
1 楼 helloworlda 2016-05-03  

相关推荐

    maven 搭建spring mvc环境

    在IDE中,可以直接运行配置好的Server,或者使用Maven的`mvn package`命令打包项目,然后手动部署到服务器。 这个实例中的测试例子可能包括对Controller方法的单元测试,使用JUnit和Mockito模拟HTTP请求和响应。...

    sts_ maven.zip

    在描述中提到的"sts4 maven3 java开发环境搭建",意味着这个压缩包包含的是如何配置和安装STS 4(最新版本)以及Maven 3的步骤或相关资源,以创建一个完整的Java开发环境。这样的环境对于Java开发者来说至关重要,...

    SpringMVC+Spring+JPA+Maven框架搭建

    为了在IDE(如Eclipse)中使用Maven,需要安装Maven插件(如m2e)。安装插件后,配置Eclipse以指向本地安装的Maven路径。 在Eclipse中,可以通过“Show View Other -&gt; Maven -&gt; Maven Repositories”调出Maven仓库...

    使用Maven开发Java Web应用

    1. **创建Maven项目**:在STS中使用Maven Archetype插件创建一个新的Maven Webapp项目。 2. **POM.xml**:编辑POM文件,添加项目依赖(如Spring、Hibernate等框架),指定项目属性如版本、打包类型等。 3. **Maven...

    java教程之手把手教你用eclipse新建基于maven构建的spring boot项目.zip

    在本Java教程中,我们将深入探讨如何使用Eclipse IDE创建一个基于Maven构建的Spring Boot项目。这个过程涉及几个关键步骤,包括环境配置、Eclipse的设置、Maven的使用以及Spring Boot项目的初始化。 首先,我们需要...

    maven3.3.9个和maven配置步骤

    在这个指南中,我们将详细介绍如何安装 Maven 3.3.9 并在 Spring Tool Suite (STS) 中配置 Maven。 **一、Maven 3.3.9 安装** 1. **下载 Maven**:首先,你需要从 Apache Maven 官方网站...

    dubbo,spring,maven

    现在,我们将介绍如何在STS环境下使用Maven创建一个基于Spring和Dubbo的项目: 1. **安装STS**:首先,你需要下载并安装Spring Tool Suite,这是一个集成了Eclipse IDE的工具,专门用于Spring项目的开发。 2. **...

    maven配置指南

    对于集成开发环境Spring Tool Suite (STS),如果已经内置了Maven,只需在IDE的首选项中配置Maven路径,使其指向正确的`M2_HOME`,确保STS能够识别Maven环境。 #### 6. 创建Maven项目 在STS中创建Maven项目,选择...

    eclipse中安装配置maven、gradle以及springboot

    以上步骤详细介绍了如何在Eclipse中安装配置Maven、Gradle以及SpringBoot,特别是如何使用阿里云的镜像来加速依赖库的下载。这些工具和框架的配置对于Java开发者来说至关重要,能够显著提升开发效率和项目构建的速度...

    SpringFlex框架搭建

    在开发过程中,可以使用STS提供的Flex Builder视图来调试和测试Flex应用程序,同时利用Spring的强大调试工具来检查后端服务。当一切准备就绪后,通过Maven的install命令编译并打包项目,部署到服务器上,例如Tomcat...

    蚂蚁课堂spring boot文档

    不同版本的Spring Boot可能在功能和API上有所不同,因此开发者应确保使用文档或项目所要求的版本。 在Spring Boot Hello World的应用中,开发者的任务是创建一个Web服务,当用户通过浏览器访问时,服务器会返回...

    201205_Maven学习笔记3.rar

    综合以上信息,这个压缩包提供了全面的Maven学习资源,涵盖了从入门到高级的主题,包括使用Maven创建项目、管理依赖、在不同IDE中集成Maven,以及与Spring框架的配合使用。对于想要提升Maven技能的Java开发者而言,...

    SpringToolSuite for mac.zip

    7. **Maven和Gradle支持**:STS能够管理Maven或Gradle构建过程,自动下载依赖,构建和打包项目。 8. **Spring Cloud工具**:对于开发微服务架构的项目,STS提供了对Spring Cloud的集成,方便管理和调试分布式系统。...

    Spring Boot.pdf

    3. 集成开发环境(IDE),如 IntelliJ IDEA 或 Spring Tool Suite(STS),文中提到使用 IntelliJ IDEA 2017.2.2 x64 版本。 4. Spring Boot 版本,建议使用官方稳定版本,如文中提到的 Spring Boot 1.5.9.RELEASE。...

    Spring+Boot核心笔记.pdf

    在配置文件中明确指定Maven版本可以避免不同环境下可能产生的问题。 #### 开发工具 本笔记中提到了IntelliJ IDEA 2017.2.2 x64版本以及Spring Tool Suite(STS)作为开发工具。通过Maven整合到IDEA中,可以使得...

    Spring Boot核心笔记.pdf

    Spring Boot是一个非常流行的开源Java框架,它用于简化新Spring应用的创建和开发过程。它是由Pivotal团队提供的,旨在减少配置文件...在POM文件的配置中,还会对JDK版本进行声明,以确保构建过程中使用的Java版本一致。

    Spring Boot学习笔记

    6. **简化部署**:通过添加 `spring-boot-maven-plugin` 插件,可以将应用打包成可执行的 jar 包,方便部署。 ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-maven-plugin ``...

    Spring Boot核心技术-笔记

    在开始使用Spring Boot之前,需要准备相应的开发环境,包括JDK、Maven以及集成开发环境(IDE)。根据文档所述,推荐使用JDK 1.8或更高版本、Maven 3.3或更高版本。此外,还需要安装IntelliJ IDEA、STS等IDE工具,并...

    基于spring boot的办公物品领取系统

    4. **mvnw**:这是Maven的Windows批处理脚本,用于在没有安装Maven的环境中运行Maven命令。 5. **.settings**:包含项目的IDE特定配置,如Eclipse或STS的项目设置。 6. **src**:源代码目录,通常包含Java源代码和...

Global site tag (gtag.js) - Google Analytics