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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM