代码之家  ›  专栏  ›  技术社区  ›  Omarkad

appengine中的配置文件激活:部署

  •  0
  • Omarkad  · 技术社区  · 6 年前

    我尝试使用maven命令激活AppEngine应用程序的配置文件,如下所示:

    mvn appengine:deploy -Dspring.profiles.active=prod
    

    但它被忽视了。

    是否可以使用maven激活配置文件?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Omarkad    6 年前

    我成功地将Maven配置文件链接到Spring配置文件。在下文中,我将解释我是如何做到的:

    在里面 pom.xml

    <!-- PROFILES -->
    <profiles>
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <spring.profiles.to.active>dev</spring.profiles.to.active>
            </properties>
        </profile>
        <profile>
            <id>uat</id>
            <properties>
                <spring.profiles.to.active>uat</spring.profiles.to.active>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <spring.profiles.to.active>prod</spring.profiles.to.active>
            </properties>
        </profile>
    </profiles> 
    

    2-激活Maven过滤:

    这将允许我们解析所提到的文件夹中的占位符${…}(在本例中是${spring.profiles.to.activate})。

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
            <webResources>
                <resources>
                    <directory>${basedir}/src/main/webapp/WEB-INF</directory>
                    <filtering>true</filtering>
                    <targetPath>WEB-INF</targetPath>
                </resources>
            </webResources>
        </configuration>
    </plugin>
    

    3-激活轮廓弹簧

    在里面 appengine-web.xml

    <appengine-web-app
        xmlns="http://appengine.google.com/ns/1.0">
        <version>1</version>
        <threadsafe>true</threadsafe>
        <runtime>java8</runtime>
        <system-properties>
            <property name="spring.profiles.active" value="${spring.profiles.to.active}" />
        </system-properties>
    </appengine-web-app> 
    

    4-部署到Appengine

    # Dev
    mvn appengine:deploy -Pdev
    # UAT
    mvn appengine:deploy -Puat
    #PROD
    mvn appengine:deploy -Pprod
    
        2
  •  0
  •   Bhargav Rao rlgjr    5 年前
    #dev profile, try adding space between -P and dev
    mvn appengine:deploy  -P dev   
    #uat profile, try adding space between -P and uat
    mvn appengine:deploy  -P qa
    #prod profile, try adding space between -P and prod
    mvn appengine:deploy  -P prd