zoukankan      html  css  js  c++  java
  • Cas 使用maven的overlay搭建开发环境 (二)

    关于cas-server的安装、部署网上教程很多。但是使用Cas,只通过部署时修改配置是无法满足产品需求的,因此需要我们改造Cas。本文讲解如何使用maven的overlay无侵入的改造Cas。

    什么是maven的overlay?

     overlay可以把多个项目war合并成为一个项目,并且如果项目存在同名文件,那么主项目中的文件将覆盖掉其他项目的同名文件。

     maven overlay 官方地址: http://maven.apache.org/plugins/maven-war-plugin/overlays.html

    第一步:新建maven项目cas-server-overlays-demo

    pom中设置properties,cas使用4.2.7

    <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <java.version>1.8</java.version>
         <cas.version>4.2.7</cas.version>
     </properties>

    第二步:引入cas提供的cas-server-webapp主项目,作为cas-server-overlays-demo的从项目

    <dependency>
           <groupId>org.jasig.cas</groupId>
           <artifactId>cas-server-webapp</artifactId>
           <version>${cas.version}</version>
           <type>war</type>
           <scope>runtime</scope>
    </dependency>

    第三步:配置maven overlay

    配置overlay用于覆盖从属项目的同名文件,意思就是说,如果我主项目中存在与cas-server-webapp项目相同目录并且相同名称的文件,已主项目的为准,也就是覆盖从属项目的文件。

    在cas-server-overlays-demo的pom.xml中添加:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
            <failOnMissingWebXml>false</failOnMissingWebXml>
            <warName>cas</warName>
            <overlays>
                <overlay>
                    <groupId>org.jasig.cas</groupId>
                    <artifactId>cas-server-webapp</artifactId>
                </overlay>
            </overlays>
        </configuration>
    </plugin>

    第四步:修改pom.xml中fileName

    <finalName>cas</finalName>

    第五步:删除新建cas-server-overlays-demo项目时自动生成的index.jsp和web.xml,以免maven编译后覆盖掉cas的同名文件

    最后执行mvn clean install,

    编译后的结构如下:

    启动tomcat后的访问效果和部署cas.war的访问效果一样:

    项目地址:https://github.com/hibryanx/cas-server-overlays-demo

    版权声明:本文为博主原创文章,转载需注明出处。http://www.cnblogs.com/bryanx/p/8595434.html

  • 相关阅读:
    使用taobao的npm镜像源,同时安装nrm镜像工具
    文档工具
    javascript基础语法备忘录-变量和数据类型
    a :hover 和a:hover 区别
    我使用的brackets插件
    使用git将自己的代码同时保存在多个代码托管平台
    mac os安装macvim
    ubuntu下安装录屏软件
    解决 eclipse cdt 运行时控制台乱码解决
    Chrome开发者工具详解(五)之Network面板
  • 原文地址:https://www.cnblogs.com/bryanx/p/8595434.html
Copyright © 2011-2022 走看看