CAS (13) —— CAS 使用Maven Profile支持多环境编译

CAS (13) —— CAS 使用Maven Profile支持多环境编译

摘要

CAS 使用Maven Profile支持多环境编译


版本

tomcat版本: tomcat-8.0.29

jdk版本: jdk1.8.0_65

cas版本: 4.1.3

cas4.1.3 (4.x还在开发过程中不是很稳定,迭代比较快,也会有些bug)

cas-client-3.4.1

maven版本: 3.3.9

主要内容

准备

以项目github上CAS项目为例进行扩充

  • 参考文章

CAS (1) —— Mac下配置CAS到Tomcat(服务端)

配置

扩充不同环境下需要定制配置文件目录

613455-20160223114748505-1626493462.png

Profile使用
<profiles>
      <profile>
          <id>local8433</id>
          <properties>
              <env>local8433</env>
          </properties>
          <activation>
              <activeByDefault>true</activeByDefault>
          </activation>
          <build>
              <resources>
                  <resource>
                      <directory>src/main/resources</directory>
                      <excludes>
                          <exclude>*.bak</exclude>
                      </excludes>
                  </resource>
                  <resource>
                      <directory>src/main/resources-config/local8433</directory>
                  </resource>
              </resources>
          </build>
      </profile>
      <profile>
          <id>local8443</id>
          <properties>
              <env>local8443</env>
          </properties>
          <activation>
              <activeByDefault>true</activeByDefault>
          </activation>
          <build>
              <resources>
                  <resource>
                      <directory>src/main/resources</directory>
                      <excludes>
                          <exclude>*.bak</exclude>
                      </excludes>
                  </resource>
                  <resource>
                      <directory>src/main/resources-config/local8443</directory>
                  </resource>
              </resources>
          </build>
      </profile>

      <profile>
          <id>local</id>
          <properties>
              <env>local</env>
          </properties>
          <activation>
              <activeByDefault>true</activeByDefault>
          </activation>
          <build>
              <resources>
                  <resource>
                      <directory>src/main/resources</directory>
                      <excludes>
                          <exclude>*.bak</exclude>
                      </excludes>
                  </resource>
                  <resource>
                      <directory>src/main/resources-config/local</directory>
                  </resource>
              </resources>
          </build>
      </profile>
    <profile>
      <id>dev</id>
      <properties>
        <env>dev</env>
      </properties>
      <build>
        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <excludes>
              <exclude>*.bak</exclude>
            </excludes>
          </resource>
          <resource>
            <directory>src/main/resources-config/dev</directory>
          </resource>
        </resources>
      </build>
    </profile>
    <profile>
      <id>qa</id>
      <properties>
        <env>qa</env>
      </properties>
      <build>
        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <excludes>
              <exclude>*.bak</exclude>
            </excludes>
          </resource>
          <resource>
            <directory>src/main/resources-config/qa</directory>
          </resource>
        </resources>
      </build>
    </profile>
    <profile>
      <id>prod</id>
      <properties>
        <env>prod</env>
      </properties>
      <build>
        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <excludes>
              <exclude>*.bak</exclude>
            </excludes>
          </resource>
          <resource>
            <directory>src/main/resources-config/prod</directory>
          </resource>
        </resources>
      </build>
    </profile>
      <profile>
          <id>prod215</id>
          <properties>
              <env>prod215</env>
          </properties>
          <build>
              <resources>
                  <resource>
                      <directory>src/main/resources</directory>
                      <excludes>
                          <exclude>*.bak</exclude>
                      </excludes>
                  </resource>
                  <resource>
                      <directory>src/main/resources-config/prod215</directory>
                  </resource>
              </resources>
          </build>
      </profile>
      <profile>
          <id>prod216</id>
          <properties>
              <env>prod216</env>
          </properties>
          <build>
              <resources>
                  <resource>
                      <directory>src/main/resources</directory>
                      <excludes>
                          <exclude>*.bak</exclude>
                      </excludes>
                  </resource>
                  <resource>
                      <directory>src/main/resources-config/prod216</directory>
                  </resource>
              </resources>
          </build>
      </profile>
  </profiles>
Filter使用
<build>
    <filters>
        <filter>${basedir}/src/main/webapp-config/${env}/filters/cas.properties</filter>
        <!--<filter>${basedir}/src/main/webapp-config/${env}/filters/spring-configuration/ticketRegistryDataSource.xml</filter>-->
        <!--<filter>${basedir}/src/main/webapp-config/${env}/filters/spring-configuration/authenticationDataSource.xml</filter>-->
        <filter>${basedir}/src/main/webapp-config/${env}/filters/spring-configuration/authenticationEncoder.xml</filter>
    </filters>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <warName>cas</warName>
          <webResources>
            <resource>
              <directory>${basedir}/src/main/webapp/WEB-INF</directory>
              <filtering>true</filtering>
              <targetPath>WEB-INF</targetPath>
              <includes>
                <include>**/web.xml</include>
              </includes>
              <excludes>
                <exclude>**.bak</exclude>
              </excludes>
            </resource>
              <resource>
                  <directory>${basedir}/src/main/webapp-config/${env}/filters</directory>
                  <filtering>true</filtering>
                  <targetPath>WEB-INF</targetPath>
                  <includes>
                      <include>*.properties</include>
                      <include>**.xml</include>
                  </includes>
              </resource>
              <resource>
                  <directory>${basedir}/src/main/webapp-config/${env}/filters/spring-configuration</directory>
                  <filtering>true</filtering>
                  <targetPath>WEB-INF/spring-configuration</targetPath>
                  <includes>
                      <include>*.properties</include>
                      <include>**.xml</include>
                  </includes>
              </resource>
          </webResources>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>${maven-jetty-plugin.version}</version>
        <configuration>
          <webApp>
            <contextPath>/cas</contextPath>
          </webApp>
        </configuration>
      </plugin>
  </build> 

参考

Introduction to Build Profiles

CAS (7) —— Mac下配置CAS 4.x集群及JPATicketRegistry

结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值