当前位置: 移动技术网 > IT编程>软件设计>架构 > Cas 使用maven的overlay搭建开发环境 (二)

Cas 使用maven的overlay搭建开发环境 (二)

2018年03月26日  | 移动技术网IT编程  | 我要评论

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

 

什么是maven的overlay?

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

 maven overlay 官方地址: 

 

第一步:新建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

 

版权声明:本文为博主原创文章,转载需注明出处。

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网